有一个公司由于bug使公司赢亏数据丢失,但该公司每月的 赢亏是一个定数,要么一个月赢利s,要么一月亏d。现在只知道该公司每五个月有一个赢亏报表,而且每次报表赢利情况都为亏。在一年中这样的报表总共有8次(1到5,2到6,…,8到12),现在要编一个程序确定当赢s和亏d给出,并满足每张报表为亏的情况下,全年公司最高可赢利多少,若存在,则输出,若不存在,输出"Deficit"。
上报一次数据的 5 个月,只可能有 5 种情况:
盈利四个月,亏损一个月:ssssd -> ssssdssssdss
盈利三个月,亏损二个月:sssdd -> sssddsssddss
盈利二个月,亏损三个月:ssddd -> ssdddssdddss
盈利一个月,亏损四个月:sdddd -> sddddsddddsd
没有盈利,全是亏损
#include<bits/stdc++.h>
using namespace std;
int main()
{
int s,d;
int ans=-1;
while(cin>>s>>d&&s&&d)
{
if(d>4*s)ans=10*s-2*d;
else if(2*d>3*s)ans=8*s-4*d;
else if(3*d>2*s)ans=6*(s-d);
else if(4*d>s)ans=3*(s-3*d);
if(ans<0)cout<<"Deficit"<<endl;
else cout<<ans<<endl;
}
return 0;
}