大意是一个公司在12个月中,或固定盈余s,或固定亏损d.
但记不得哪些月盈余,哪些月亏损,只能记得连续5个月的代数和总是亏损(<0为亏损),而一年中只有8个连续的5个月,分别为1~5,2~6,…,8~12
问全年是否可能盈利?若可能,输出可能最大盈利金额,否则输出“Deficit".
先判断是否可以组成连续5个月都是亏损,然后把负数放在后面以覆盖更多的区间。
#include<stdio.h>
#include<algorithm>
#include<string>
#include<cmath>
#include<iostream>
using namespace std;
int mon[20];
int main()
{
int s,d;
int ns,nd;
while(cin>>s>>d)
{
if(d/s>=5||s/d>=4)
{
puts("Deficit");
continue;
}
int nd=0;
for(int i=1;i<5;i++)
{
if(d*i>(5-i)*s)
{
nd=i;
ns=5-nd;
break;
}
}
int sum=-nd*d+ns*s;
if(ns>=2)
sum=sum*2+s*2;
else
sum=sum*2+(ns*s)-(2-ns)*d;
if(sum > 0)
printf("%d\n",sum);
else
puts("Deficit");
}
return 0;
}