概述:微软公司从第五个月开始每个月都会统计以本月为基准,前5个月的财报,财务只会盈利或亏空,并且所有的赢利月的盈利值都相等,所有的亏空月的亏空值都相等,并且每次财报都显示亏空,问,年总利润能否大于零,如果大于,输出可盈利的最大值,否则输出Default。
思路:让被统计次数最多的月份亏空,其他月盈利,做一次假设,即00001 00001 00,再让被统计次数最多的前两名月份亏空,其他月盈利,再做一次假设,即00011 00011 00,再让再让被统计次数最多的前三个月亏空……以此类推,直到让所有月亏空为止。这样做的原理是让亏空月尽量多的影响财报。
感想:难!!!!!!!
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
//ifstream cin("aaa.txt");
int s, d,ans;
while (cin >> s >> d)
{
if (d>4 * s)ans = 10 * s - 2 * d;
else if (2 * d>3 * s)ans = 8 * s - 4 * d;
else if (3 * d>2 * s)ans = 6 * (s - d);
else if (4 * d>s)ans = 3 * (s - 3 * d);
else ans = -10;
if (ans<0)cout << "Deficit" << endl;
else cout << ans << endl;
}
return 0;
}