1.5 22:ジンジンの貯蓄プラン

説明
ジンジンのお小遣いはいつも自分で管理してきました。毎月初めに母が手当に300元を支給しますが、今月の手当は予算に入れられ、実際の費用は常に予算と同じになります。

ジンジンが貯金の仕方を学ぶために、母親はジンジンがいつでも100ドルを預けることができると提案し、年末に手当に20%を追加する予定です。そのため、ジンジンは貯蓄プランを策定しました。毎月初めに、母親から小遣いを受け取った後、月末までに100元以上、または正確に100元が手元にあると予測した場合、彼のお金は彼の母親と一緒に保管されており、残りのお金は彼自身の手にあります。

たとえば、11月の初めにジンジンはまだ83元を持っていて、彼女の母親はジンジンに300元を与えました。ジンジンは11月に180元を使う予定なので、母親に200元を預けて、自分のために183元を預ける。11月末までに、神人は残り3元になるでしょう。

ジンジンは、この貯蓄プランの主なリスクは、年末までに母親のお金を引き出すことができないことであることに気づきました。ある月の初めに、ジンジンの手にあるお金と今月母親から与えられたお金が、今月の当初の予算に対して十分ではない可能性があります。これが起こった場合、天津ジンは今月、お金を節約し、予算を削減する必要があります。

さて、2004年1月から12月までの月額予算でこれが起こるかどうかを判断してください。そうでない場合は、母親が2004年末までにジンジンの通常の預金の20%を返還した後、ジンジンの手にいくらのお金があるかを計算します。

入力に
は12行のデータが含まれ、各行には350未満の負でない整数が含まれ、1月から12月までの天津の予算を表します。
出力に
は、整数のみを含む1行が含まれます。貯蓄プランの実施中の特定の月に十分なお金がない場合は、-Xを出力します。Xはこの状況の最初の月を表します。それ以外の場合、2004年末に天津と天津に輸出される金額。
サンプル入力
サンプル#1:
290
230
280
200
300
170
340
50
90
80
200
60

試料#2:
290
230
280
200
300
170
330
50
90
80
200
60
サンプル出力
サンプル#1:
-7

サンプル#2:
1580

#include <iostream>
using namespace std;
#define MONTH 12
#define MONEY 300
int main()
{
    
    
	int a[MONTH], i, save=0, sum=0, bai;//save:在妈妈那存的钱,sum:手头剩的钱 
	for(i=0;i<MONTH;i++)
	{
    
    
		cin>>a[i];
		sum += MONEY - a[i];
		if(sum<0)
		{
    
    
			printf("-%d\n", i+1);
			return 0;
		}
		bai = sum/100;
		if(bai>0)
		{
    
    
			save += bai*100;
			sum -= bai*100;
		}
		
	}
	sum += save*1.2;
	cout<<sum<<endl;	
	return 0;
}

おすすめ

転載: blog.csdn.net/yansuifeng1126/article/details/112321652