POJ 2586 Y2K Accounting Bug 贪心

看题传送门 :http://poj.org/problem?id=2586

题目大意:

一个公司在12个月中,每个月盈余s,或亏损d.
但记不得哪些月盈余,哪些月亏损,只能记得连续5个月的代数和总是亏损(<0为亏损),问全年是否可能盈利?若可能,输出可能最大盈利金额,否则输出“Deficit".


一年中只有8个连续的5个月,分别为1~5,2~6,…,8~12

亏损的时候尽量靠后排。

如:

5个月中有1个月亏损(安排在5和10)
5个月中有2个月亏损 (安排在4  5和9  10)

5个月中有3个月亏损  (安排在3 4  5和 8 9  10)

5个月中有4个月亏损 (安排在2 3 4  5和7 8 9  10)

5个月中有5个月亏损 (咳咳)


#include<cstdio>
#include<iostream>
using namespace std;
int s,d,ans;
void solve()
{
	if(s*4<d)		
			ans=s*10-d*2;	
	else if(s*3<d*2)			
			ans=s*8-d*4;	
	else if(s*2<d*3)	
			ans=s*6-d*6;	
	else if(s*1<d*4)	
			ans=s*3-d*9;
	else 	
			ans=-d*12;
	
}
int main()
{
	while(scanf("%d%d",&s,&d)!=EOF)
	{
		solve();
		if(ans<0)
			printf("Deficit\n");
		else
			printf("%d\n",ans);
	}

}


posted @ 2013-09-24 23:38  hr_whisper  阅读(113)  评论(0编辑  收藏  举报