小明的零花錢一直都是自己管理。每個月的月初媽媽給小明300元錢,小明會預算這個月的花銷,並且總能做到實際花銷和預算的相同。
為了讓小明學習如何儲蓄,媽媽提出,小明可以隨時把整百的錢存在她那裡,到了年末她會加上20%還給小明。因此小明制定了乙個儲蓄計畫:每個月的月初,在得到媽媽給的零花錢後,如果他預計到這個月的月末手中還會有多於100元或恰好100元,他就會把整百的錢存在媽媽那裡,剩餘的錢留在自己手中。
例如11月初小明手中還有83元,媽媽給了小明300元。小明預計11月的花銷是180元,那麼他就會在媽媽那裡存200元,自己留下183元。到了11月月末,小明手中會剩下3元錢。
小明發現這個儲蓄計畫的主要風險是,存在媽媽那裡的錢在年末之前不能取出。有可能在某個月的月初,小明手中的錢加上這個月媽媽給的錢,不夠這個月的原定預算。如果出現這種情況,小明將不得不在這個月省吃儉用,壓縮預算。
現在請你根據2023年1月到12月每個月小明的預算,判斷會不會出現這種情況。如果不會,計算到2023年年末,媽媽將小明平常存的錢加上20%還給小明之後,小明手中會有多少錢。
第一行輸入乙個整數n,表示測試資料的組數(n<=10)
每組測試資料輸入12行資料,每行包含乙個小於350的非負整數,分別表示1月到12月小明的預算。
每組輸出包括一行,這一行只包含乙個整數。如果儲蓄計畫實施過程中出現某個月錢不夠用的情況,輸出-x,x表示出現這種情況的第乙個月;否則輸出到2023年年末小明手中會有多少錢(如果是小數,請四捨五入到整數字)。
1 290
230
280
200
300
170
340
50 90
80 200
60-7
使用的就是乙個大數相加的演算法思想,res代表就是每個月的剩餘錢,sum代表存入的錢數。在大數相加中,res代表的就是carray進製數,sum代表的是當前數。
/*
author:楊林峰
date:2017.11.10
nyoj(54):小明的存錢計畫
*/#include
#include
using
namespace
std;
int main()
for (int i = 0; i < 12; i++)
else
//小於0時,則返回當前月的相反數
}ans = sum * 120 + res;
if (!ret)
cout
<< ret << endl;
}return
0;}
小明的存錢計畫
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 小明的零花錢一直都是自己管理。每個月的月初媽媽給小明300元錢,小明會預算這個月的花銷,並且總能做到實際花銷和預算的相同。為了讓小明學習如何儲蓄,媽媽提出,小明可以隨時把整百的錢存在她那裡,到了年末她會加上20 還給小明。因此小...
小明的存錢計畫
小明的存錢計畫 時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 小明的零花錢一直都是自己管理。每個月的月初媽媽給小明300元錢,小明會預算這個月的花銷,並且總能做到實際花銷和預算的相同。為了讓小明學習如何儲蓄,媽媽提出,小明可以隨時把整百的錢存在她那裡,到了年末她會加上20 ...
小明的存錢計畫
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 小明的零花錢一直都是自己管理。每個月的月初媽媽給小明300元錢,小明會預算這個月的花銷,並且總能做到實際花銷和預算的相同。為了讓小明學習如何儲蓄,媽媽提出,小明可以隨時把整百的錢存在她那裡,到了年末她會加上20 還給小明。因此小...