A - 名刺交換
Editorial
/
青木君は就職活動をおこなっている大学生で、名刺を N 枚持っています。
これから M 日間の就職活動を予定しており、 i 日目には名刺を c_{i} 枚消費することがわかっています。
就職活動を行うにあたり、名刺が足りなくなると非常に困ります。
そこで、青木君はそれぞれの日のはじめに名刺の所持枚数を確認し、A 枚以下ならば B 枚名刺を補充することにしました。
B 枚補充しても A 枚以下にしかならないような場合でも、それ以上の補充はできません。
最初から持っている N 枚とこのような補充で、就職活動の最後の日まで乗りきれるかどうか判定してください。
もし、足りなくなる場合は、その日付を青木君に教えてあげてください。
入力は以下の形式で標準入力から与えられる。
就職活動の最後の日まで乗り切ることができれば
もし、名刺を配りきってしまった場合は、足りなくなった日の日付を出力すること。
出力は標準出力におこない、末尾には改行をいれること。
Time Limit: 2 sec / Memory Limit: 64 MB
問題文
これから M 日間の就職活動を予定しており、 i 日目には名刺を c_{i} 枚消費することがわかっています。
就職活動を行うにあたり、名刺が足りなくなると非常に困ります。
そこで、青木君はそれぞれの日のはじめに名刺の所持枚数を確認し、A 枚以下ならば B 枚名刺を補充することにしました。
B 枚補充しても A 枚以下にしかならないような場合でも、それ以上の補充はできません。
最初から持っている N 枚とこのような補充で、就職活動の最後の日まで乗りきれるかどうか判定してください。
もし、足りなくなる場合は、その日付を青木君に教えてあげてください。
入力
N M A B c_{1} c_{2} : : c_{M}
- 1 行目に N , M , A , B が半角スペースで区切られて与えられる。
- N は持っている名刺の枚数で 1≦N≦1,000 を満たす。
- M は就職活動の日数で 0≦M≦100 を満たす。
- A は名刺を補充するタイミングの枚数を示す数で 0≦A≦1,000 を満たす。
- B は補充する名刺の枚数で 0≦B≦1,000 を満たす。
- N , M , A , B は全て整数である。
- 2 行目から M+1 行目までの M 行間で、名刺を配る枚数がそれぞれ与えられる。
- c_{i} は i(1≦i≦M) 日目に配る名刺の枚数を表す整数で 0≦c_{i}≦1,000 を満たす。
出力
complete
と出力すること。もし、名刺を配りきってしまった場合は、足りなくなった日の日付を出力すること。
出力は標準出力におこない、末尾には改行をいれること。
入力例 1
100 3 0 100 10 20 30
出力例 1
complete
- 就職活動を通して 60 枚しか使わないので名刺は余ります。
入力例 2
100 4 0 100 10 20 30 40
出力例 2
complete
- 就職活動最終日にちょうど名刺を配りきります。
入力例 3
100 4 0 100 50 40 30 20
出力例 3
3
- 2 日目終了時点で残り 10 枚で、補充ができないので 3 日目は足りなくなります。
入力例 4
100 4 10 100 50 40 30 20
出力例 4
complete
- 2 日目が終了した時点で残り 10 枚で、3 日目の始めに 100 枚補充するので、最終日を終えても名刺は余っています。
入力例 5
5 3 20 10 15 5 20
出力例 5
3
- 1 日目が始まる時点で、残り枚数が 20 枚を下回っているので名刺を補充して、15 枚にすることでその日は無事に配ることができます。
- 2 日目が始まる時に名刺が足りないのでまた補充し、その日は 5 枚余って終了することができます。
- しかし、3 日目では補充しても枚数が 15 枚にしかならず、名刺不足になります。