B - 運動管理 Editorial /

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

高橋君は AtCoder 社のマスコットキャラクターである。

マスコットキャラクターとしての魅力を維持するために、高橋君は適度な運動をすることになっている。高橋君は週の運動時間が L 分以上 H 分以下でなければならない。

しかしながら、青木君は最近、高橋君が運動しているところを見ていない。高橋君の運動状況が気になった青木君は、高橋君の過去 N 週間の運動時間が制限にあっているのか、そして足りないなら少なくともあと何分運動する必要があったのかを計算するプログラムを作成することにした。


入力

入力は以下の形式で標準入力から与えられる。

L H
N
A_1
A_2
:
A_N
  • 1 行目には、2 個の整数 L, H (1≦L≦H≦10^4) が空白区切りで与えられる。これは、高橋君が週に L 分以上 H 分以下の運動をしなければならないことを表す。
  • 2 行目には、整数 N (1≦N≦50) が与えられる。これは青木君が N 週分の運動時間について調べていることを表す。
  • 3 行目からの N 行には、高橋君の運動状況を表す整数が与えられる。N 行の内 i (1≦i≦N) 行目には、整数 A_i (0≦A_i≦10^4) が与えられる。これは i 個前の週において高橋君が A_i 分運動したことを表す。

出力

出力は N 行からなる。i (1≦i≦N) 行目には、i 個前の週において高橋君が必要な分よりも多く運動している場合は -1 を、そうでない場合は追加で必要な運動時間の最小値を分単位で 1 行に出力せよ。

出力の末尾にも改行を入れること。


入力例1

300 400
3
240
350
480

出力例1

60
0
-1

青木君は 3 個の週について調査している。

  • 1 個前の週において、高橋君は 240 分運動しており、これは運動時間の下限である 300 分に満たない。高橋君はあと 60 分追加で運動する必要があるため、1 行目には 60 を出力する。
  • 2 個前の週において、高橋君は 350 分運動しており、これは運動時間の制限に適している。そのため、2 行目には 0 を出力する。
  • 3 個前の週において、高橋君は 480 分運動しており、これは運動時間の上限である 400 分を越えており、運動しすぎである。そのため、3 行目には -1 を出力する。

入力例2

50 80
5
10000
50
81
80
0

出力例2

-1
0
-1
0
50