POJ 2586 Y2K Accounting Bug

妖狐艹你老母 2022-05-17 01:34 201阅读 0赞

题目链接

题目大意:有一个公司每个月盈利为s,亏损是d,现在在保证每5个月的总盈利是亏损的情况下,每年如果能盈利输出最大盈利,如果是亏损,输出”Deficit”。

分析:每5个月的收入情况只有5种,1.盈利4个月,亏损1个月。2.盈利3个月,亏损2个月。3.盈利2个月,亏损3个月。4.盈利1个月,亏损5个月。5.如果是5个月全亏损,很明显输出Deficit。对于其余的四种情况,从盈利最多的情况往下枚举,直到有一种的5个月是满足亏损的情况,这个时候的盈利一定是最大的。

  1. #include<map>
  2. #include<set>
  3. #include<cmath>
  4. #include<queue>
  5. #include<stack>
  6. #include<cstdio>
  7. #include<vector>
  8. #include<cctype>
  9. #include<cstring>
  10. #include<cstdlib>
  11. #include<iostream>
  12. #include<algorithm>
  13. #define inf 0x3f3f3f3f
  14. #define maxn 2005
  15. #define Clear(x) memset(x,0,sizeof(x))
  16. #define fup(i,a,b) for(int i=a;i<b;i++)
  17. #define rfup(i,a,b) for(int i=a;i<=b;i++)
  18. #define fdn(i,a,b) for(int i=a;i>b;i--)
  19. #define rfdn(i,a,b) for(int i=a;i>=b;i--)
  20. typedef long long ll;
  21. using namespace std;
  22. const double pi=acos(-1.0);
  23. int main()
  24. {
  25. int s,d;
  26. while(scanf("%d%d",&s,&d)!=EOF)
  27. {
  28. int ans=-inf;
  29. if(4*s<d) ans=10*s-2*d;
  30. else if(3*s<2*d) ans=8*s-4*d;
  31. else if(2*s<3*d) ans=6*s-6*d;
  32. else if(s<4*d) ans=3*s-9*d;
  33. if(ans<0) printf("Deficit\n");
  34. else printf("%d\n",ans);
  35. }
  36. return 0;
  37. }

发表评论

表情:
评论列表 (有 0 条评论,201人围观)

还没有评论,来说两句吧...

相关阅读

    相关 POJ 2586 Y2K Accounting Bug

    [题目链接][Link 1] 题目大意:有一个公司每个月盈利为s,亏损是d,现在在保证每5个月的总盈利是亏损的情况下,每年如果能盈利输出最大盈利,如果是亏损,输出"Defic