【CodeVS】【2004年NOIP全國聯賽提高組】1057 津津的儲蓄計劃

1057 津津的儲蓄計劃

2004年NOIP全國聯賽提高組

時間限制: 1 s
空間限制: 128000 KB
題目等級 : 青銅 Bronze
題目描述 Description

    津津的零花錢一直都是自己管理。每個月的月初媽媽給津津300元錢,津津會預算這個月的花銷,並且總能做到實際花銷和預算的相同。


    爲了讓津津學習如何儲蓄,媽媽提出,津津可以隨時把整百的錢存在她那裏,到了年末她會加上20%還給津津。因此津津制定了一個儲蓄計劃:每個月的月初,在得到媽媽給的零花錢後,如果她預計到這個月的月末手中還會有多於100元或恰好100元,她就會把整百的錢存在媽媽那裏,剩餘的錢留在自己手中。


    例如11月初津津手中還有83元,媽媽給了津津300元。津津預計11月的花銷是180元,那麼她就會在媽媽那裏存200元,自己留下183元。到了11月月末,津津手中會剩下3元錢。


    津津發現這個儲蓄計劃的主要風險是,存在媽媽那裏的錢在年末之前不能取出。有可能在某個月的月初,津津手中的錢加上這個月媽媽給的錢,不夠這個月的原定預算。如果出現這種情況,津津將不得不在這個月省喫儉用,壓縮預算。


    現在請你根據2004年1月到12月每個月津津的預算,判斷會不會出現這種情況。如果不會,計算到2004年年末,媽媽將津津平常存的錢加上20%還給津津之後,津津手中會有多少錢。

輸入描述 Input Description

    輸入包括12行數據,每行包含一個小於350的非負整數,分別表示1月到12月津津的預算。

輸出描述 Output Description


    輸出包括一行,這一行只包含一個整數。如果儲蓄計劃實施過程中出現某個月錢不夠用的情況,輸出-X,X表示出現這種情況的第一個月;否則輸出到2004年年末津津手中會有多少錢。

樣例輸入 Sample Input

樣例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


注意一下精度的問題,沒啥可說的

#include<iostream>
#include<cstdio>
int mom;
int jin;


int main()
{
	for(int i=1;i<=12;i++)
	{
		int a;
		scanf("%d",&a);
		jin+=300;
		if(jin>=a)
		{
			mom+=(jin-a)%1000-(jin-a)%100;
			jin-=(jin-a)%1000-(jin-a)%100+a;
		}
		else
		{
			printf("-%d",i);
			return 0;
		}
	}
	double a=jin+mom*(1+0.2);
	printf("%d",(int)a);
	return 0;
}


60 

樣例輸出 Sample Output

樣例1:

-7 

 

樣例2:

1580 

數據範圍及提示 Data Size & Hint

e



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章