Tyvj P 1065津の貯蓄計画

1654 ワード

津津の貯蓄計画(NOIP 2004向上組再試合第1題)
(Save.pas/dpr/c/cpp).
【問題の説明】
津津のお小遣いはいつも自分で管理しています.毎月の月初めに母は津津に300元をあげて、津会は今月の費用を予算して、しかもいつも実際の費用と予算の同じようにすることができます.
津津に貯蓄の仕方を学ばせるため、母は津津がいつでも100元を彼女のところに存在することができ、年末には20%を加えて津津に返すと提案した.そのため、津津は貯蓄計画を立てた.毎月の月初め、母から小遣いをもらった後、今月末までに100元以上のお金やちょうど100元を手に入れると、彼女は100元を母のところに預け、残りのお金を自分の手に残す.
例えば11月初めに津津の手には83元があり、母は津津に300元をあげた.津津は11月の出費が180元だと予想していたが、母のところに200元貯金し、自分で183元残した.11月末になると、津津の手には3元が残る.
津津がこの貯蓄計画を発見した主なリスクは、母のところにあるお金が年末までに引き出せないことだ.ある月の初め、津津が手にしたお金に今月の母からもらったお金を加えると、今月の予定予算が足りない可能性があります.このような場合、津津は今月中に倹約し、予算を圧縮しなければならない.
今、2004年1月から12月までの毎月の予算に基づいて、このような状況が発生するかどうかを判断してください.もしそうでなければ、2004年末までに母が津津が普段貯めていたお金に20%を加えて津に返した後、津の手にいくらあるかを計算します.
【入力ファイル】
ファイルを入力します.inは12行のデータを含み、各行は350未満の非負の整数を含み、それぞれ1月から12月までの津津の予算を表す.
【出力ファイル】
出力ファイルoutには1つの整数しか含まれていない行が含まれます.貯蓄計画の実施過程である月額が足りない場合、出力-X、Xはこのような状況が発生した最初の月を示す.そうでなければ、2004年末に津津に輸出するといくらになりますか.
【サンプル入力1】29023020202020030017034050 90 80 20060
【サンプル出力1】
-7
【サンプル入力2】
290 230 280 200 300 170 330 50 90 80 200 60
【サンプル出力2】
1580
 
program noip2004t1;

 var

  c,k,i,n:integer;  {c : the money saved; n : money jingjing has}

  y:array[1..12]of integer;

 begin

  n := 0; c := 0;

  for i := 1 to 12 do readln (y[i]);

  for i := 1 to 12 do

   begin

    n := n + 300 - y[i];

    if n < 0 then

     begin

      write ('-',i);

      exit;

     end;

    if n > 100 then

     begin

      c := c + 100*(n div 100);

      n := n mod 100;

     end;

   end;

  k := round(c*1.2);

  write (n+k);

 end.

 
 
一回のAC、その年のテーマは本当に簡単です