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); } }
新 blog : www.hrwhisper.me