C075:ポイント払い

C075:ポイント払い

制限時間カウント
タイムアップ!

paiza 市に住んでいるあなたは、普段の移動手段は全て paiza バスを使います。paiza バスでは paica という IC カードを乗車券として使うことができます。事前に paica にチャージをすることで利用できます。

バスの運賃支払に paica のカード残額を使うと、運賃の 10 % が paica ポイントとしてたまります。

バスを降車する時に、支払う運賃以上のポイントがある場合は、ポイントが優先的に運賃の支払いに使われます。ただし、1 ポイントは 1 円になります。ただし、ポイントで運賃を支払った場合、新たなポイントは発生しません。

図1

あなたは、カード残金とポイントをどれくらい使ったか知るためのプログラムを書くことにしました。

あなたには、最初にチャージする現金と、バスを利用した時にかかった料金のリストが与えられるので、毎回の降車時に残っているお金とポイントを出力してください。

ただし、途中でカード残高とポイントの両方が運賃を下回ることはありません。

入力例 1 は以下のようになります。

図2

評価ポイント
10回のテストケースで、正答率、実行速度、メモリ消費量をはかり得点が決まります。
より早い回答時間で提出したほうが得点が高くなります。
  1. 複数のテストケースで正しい出力がされるか評価(+50点)
  2. 解答までの速さ評価(+50点)
入力される値

入力は以下のフォーマットで与えられます。

N M
f_1
f_2
...
f_M
  • ・1 行目にはそれぞれ、はじめにチャージされている金額、バスの乗車回数を表す整数 N, M がこの順で半角スペース区切りで与えられます。
  • ・続く M 行のうちの i 行目 (1 ≦ i ≦ M) には、i 回目の降車時にかかった運賃を表す整数 f_i がこの順で半角スペース区切りで与えられます。
  • ・入力は合計で M + 1 行となり、入力値最終行の末尾に改行が 1 つ入ります。

それぞれの値は文字列で標準入力から渡されます。標準入力からの値取得方法はこちらをご確認ください
期待する出力
c_1 p_1
c_2 p_2
...
c_M p_M
・出力は M 行からなります。
・i 行目 (1 ≦ i ≦ M) には、 i 回目の降車時のカード残高とポイントを表す整数 c_i, p_i を出力してください。
・0 ≦ c_i, p_i ≦ N (1 ≦ i ≦ M)
・末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

  • ・1 ≦ N ≦ 10,000
  • ・1 ≦ M ≦ 100
  • ・0 ≦ f_i ≦ 10,000 (1 ≦ i ≦ M)
  • ・また、 f_i は必ず 10 の倍数になります。
入力例1
2000 5
300
500
300
100
100
出力例1
1700 30
1200 80
900 110
900 10
800 20
入力例2
3000 3
1000
1000
1000
出力例2
2000 100
1000 200
0 300

解答欄

制限時間カウント タイムアップ!
1
2
//
// Let's
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

コードを提出する

一度提出すると修正できません

ページの先頭へ戻る