Story
💳
ラテ君はついにクレジットカードを作りました!
でもクレジットカードは、お金を使っている感覚がないので使いすぎないか不安、という悩みもあるようです。
そういう思いもある中で、ラテ君は初めてクレジットカードを使ってお買い物をすることにしました。
問題
ラテ君は、不思議なクレジットカード(以下、カードと言います)を 1 枚だけ持っています。
最初、カードで使える金額は A 円でした。この金額が 0 を下回ると、新たに B 円がカード内の残高に支給されます。
この支給はカード内の残額が 0 を下回っている限り繰り返し行われます。
厳密には、現在のカードの残額を y 円として次のような操作が行われます。
- x 円の品物を買ったとき
- y−x≥0 なら y を y−x に更新する
- y−x<0 なら y を y−x に更新し、そのあと y<0 の間だけ y+B に更新する
ラテ君は買いたいものが N 個あり、i (1≤i≤N) 個目の品物の値段は Ti 円でした。
すべての品物を買い終えた後、ラテ君のカードの残高はいくらになりますか?
入力
入力は以下の形式で与えられる。
制約
- 1≤N≤105
- 1≤A,B≤109
- 1≤Ti≤109
- すべて整数
出力
すべての品物を買った後のラテ君の残高を出力せよ。
入出力例
入力例1
4 400 2000
100 300 400 400
- 1,2 個目で使った金額の合計は 100+300=400 円で、このとき残額は 400−400=0 円となります。
- 3 個目で使った金額は 400 円ですが、残額を越えてしまいます。そこで B(=2000) 円を残額に追加し、そこから T3(=400) 円を引きます。よって残額は 0+2000−400=1600 円となります。
- 4 個目の金額は 400 円ですが、残額を越えないので使ったあとの残額は 1600−400=1200 円となります。
以上より答えは 1200 円となります。
ある日の残高が 0 円になったときは新たに 300(=B) 円は支給されないことに注意してください。
入力例4
3 200 101
400 400 400