Description
Input
Output
Sample Input
59 237 375 743 200000 849694 2500000 8000000
Sample Output
116 28 300612 Deficit
大致题意就是有一个年度报告,每五个月为一个季度往上提交报告,一年共上交八次报告。分别为1月-5月,2月-6月,3月-7月,4月-8月,5-9,6-10,7-11,8-12.
每个季度都是亏损,问一年有可能盈余吗,求最大盈余,若不能盈余则输出“Deficit”。主要采用贪心的思想,把亏损放在每季度的后面。
输入s和d,s为每月的盈余,d为每月的亏损。
样例1: 59 237
SSSSD SSSSD SS
样例2: 375 743
SSSDD SSSDD SS
一共有这么几种情况:
SSSSD SSSSD SS 一年有2个月为亏损
SSSDD SSSDD SS 一年有4个月为亏损
SSDDD SSDDD SS 一年有6个月为亏损
SDDDD SDDDD SD 一年有9个月为亏损
DDDDD DDDDD DD 一年有12个月为亏损
1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 5 int main() 6 { 7 int s,d; 8 int a[10]={0,2,4,6,9,12}; 9 while(cin>>s>>d) 10 { 11 int k=1; 12 while(s*(5-k)>d*k) 13 k++; 14 int ans=s*(12-a[k])-d*a[k]; 15 if(ans<0) 16 cout<<"Deficit"<<endl; 17 else 18 printf("%d\n",ans); 19 } 20 return 0; 21 }
原文:http://www.cnblogs.com/cxbky/p/4878795.html