POJ 2586 Y2K Accounting Bug
题目链接
题目大意:有一个公司每个月盈利为s,亏损是d,现在在保证每5个月的总盈利是亏损的情况下,每年如果能盈利输出最大盈利,如果是亏损,输出”Deficit”。
分析:每5个月的收入情况只有5种,1.盈利4个月,亏损1个月。2.盈利3个月,亏损2个月。3.盈利2个月,亏损3个月。4.盈利1个月,亏损5个月。5.如果是5个月全亏损,很明显输出Deficit。对于其余的四种情况,从盈利最多的情况往下枚举,直到有一种的5个月是满足亏损的情况,这个时候的盈利一定是最大的。
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<cstdio>
#include<vector>
#include<cctype>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define inf 0x3f3f3f3f
#define maxn 2005
#define Clear(x) memset(x,0,sizeof(x))
#define fup(i,a,b) for(int i=a;i<b;i++)
#define rfup(i,a,b) for(int i=a;i<=b;i++)
#define fdn(i,a,b) for(int i=a;i>b;i--)
#define rfdn(i,a,b) for(int i=a;i>=b;i--)
typedef long long ll;
using namespace std;
const double pi=acos(-1.0);
int main()
{
int s,d;
while(scanf("%d%d",&s,&d)!=EOF)
{
int ans=-inf;
if(4*s<d) ans=10*s-2*d;
else if(3*s<2*d) ans=8*s-4*d;
else if(2*s<3*d) ans=6*s-6*d;
else if(s<4*d) ans=3*s-9*d;
if(ans<0) printf("Deficit\n");
else printf("%d\n",ans);
}
return 0;
}
还没有评论,来说两句吧...