题目描述
每个月月初妈妈会给小函300元钱,但是小函总是会预算这个月的花销,并把当月的零花钱花个精光。为了能让小函懂得简单的理财,所以妈妈提出,可以把整百的钱存在她那里,到年末时她会加上20%还给小函。
所以,小函制定了这样一个计划:每个月的月初,得到妈妈的零花钱后,如果他预计到这个月的月末手中还有多余100元或恰好100元,他就会把整百存到妈妈那里,剩余的钱留在自己手中。
然而,小函的计划会出现一个风险:如果他手中的钱加上月初得到的零花钱,不够这个月的预算,小函就不得不省吃俭用。
请你判断小函会不会出现省吃俭用的情况。
输入格式
第一行一个正整数n,表示发零花钱的年数。
接下来 12*n 行,表示每个月小函的预算。
输出格式
一个整数。如果计划实施过程中出现某个月钱不够用的情况,输出-m,m表示出现这种情况的第一个月;否则输出到最后小函手中会有多少钱(包括妈妈返还给小函的钱)
输入样例1
1
290
230
280
200
300
170
330
50
90
80
200
60
输出样例1
1580
输入样例2
2
300
260
330
290
250
200
300
290
310
280
320
300
290
310
300
290
280
270
260
250
260
270
290
300
输出样例2
-14
样例说明
见题面描述
HINT
按照题目要求写程序简单模拟即可~
题解
#include <stdio.h>
int main()
{
int n, money, sum=0, i= 0, j = 0;
scanf("%d", &n);
for (i = 0; i < 12 * n; i++)
{
if ((i) % 12 == 0)
{
sum += 120 * j;
j = 0;
}
sum += 300;//先得到零花钱
scanf("%d", &money);//这个月计划花的钱
if (sum < money)
{
printf("%d\n", -(i + 1));
return 0;
}
while (sum - money >= 100)//判断预计到这个月的月末手中还有多余100元或恰好100元
{
sum -= 100;//把整百存到妈妈那里
j++;
}
sum = sum - money;
}
printf("%d\n", sum+ 120*j);
return 0;
}