poj 2586 Y2K Accounting Bug

#include <iostream>        //贪心
using namespace std;
int months[20];
int main()
{
int d,s,i,j,sum,total;
while(cin>>s>>d)
{
if(s>=4*d)
printf(
"Deficit\n");
else
{
d
*=-1;
for(i=0;i<4;++i)
months[i]
=d;
for(i=4;i<16;++i)
{
months[i]
=s;
sum
=0;
for(j=i-4;j<=i;++j)
sum
+=months[j];
if(sum>=0)
months[i]
=d;
}
total
=0;
for(i=4;i<16;++i)
total
+=months[i];
if(total<0)
printf(
"Deficit\n");
else
printf(
"%d\n",total);
}
}
return 0;
}

//每个月会给出一个财务报告:赢利或者亏空 如果赢利则赢利s,如果亏空则亏空d
//(12个月都一样,只有赢利s或者亏空d两种情况)
//每五个月也会给出一个报告(1~5 ,2~6 。。。)一年一共有8次这样的报告,已知这8次都报告亏空
//问整年情况:如果亏空则输出Deficit,如果赢利,输出整年可能赢利的最大值
//就是要求对长度为12的由s,d组成的字符串的组合,满足每5个相邻的字符的和都小于0,输出最大的和,如果<0则输出Defict

  

posted on 2011-07-20 22:53  sysu_mjc  阅读(131)  评论(0编辑  收藏  举报

导航