一个财务公司受到电脑病毒攻击所以丢失了一部分年终财务的数据。
他们所有记得的东西都在
Inc里面储存着,在1999年之前公司要每个月都贴出盈利和亏损情况。亏损的是d,由于收到了攻击,他们不记得那个月盈利或者亏损多少,和其他的公司不一样,他们的员工一年中是连续五个月发一次薪水??(确实没见过),acm知道8条交易的亏损记录但是他们不知道是多少,总会计师几乎确保知道这个月将要发布1999年的盈余。
对于每一个月来说,是盈利如果则盈利S,如果亏空则亏d。 每五个月进行一次统计,共统计八次(1-5月一次,2-6月一次.......) 统计的结果是这八次都是亏空。 问题:判断全年是否能盈利,如果能则求出最大的盈利。 如果不能盈利则输出Deficit
我明白了,深搜肯定是可以的,不过这可是贪心- -,好吧再行一想,要使每五个月都亏损,那么就让这些亏损的月份在后面更有利,作用更广。
1-5原来是相同的11==1,12==2即可
想法没有错!!
/
#include<stdio.h>
int main()
{
long long s, d;
while(scanf( " %I64d%I64d ", &s, &d) != EOF)
{
int k= 0;
for(k= 1; k<= 5; k++)
{
if(k*d > s*( 5-k))
break;
}
k = 5-k;
if(k == 1)
k = 3;
else if(k > 1)
k = k+k+ 2;
if(s*k - d*( 12-k) > 0)
printf( " %d\n ", s*k - d*( 12-k));
else
printf( " Deficit\n ");
}
return 0;
}
{
long long s, d;
while(scanf( " %I64d%I64d ", &s, &d) != EOF)
{
int k= 0;
for(k= 1; k<= 5; k++)
{
if(k*d > s*( 5-k))
break;
}
k = 5-k;
if(k == 1)
k = 3;
else if(k > 1)
k = k+k+ 2;
if(s*k - d*( 12-k) > 0)
printf( " %d\n ", s*k - d*( 12-k));
else
printf( " Deficit\n ");
}
return 0;
}