atcoder#ABC256B. [ABC256B] Batters
[ABC256B] Batters
配点 : 点
問題文
高橋君は野球をモチーフにしたゲームを作ろうとしましたが、うまくコードが書けなくて困っています。 高橋君の代わりに次の問題を解くプログラムを作ってください。
マス , マス , マス , マス の つのマス目があります。はじめマスの上には何もありません。 また、整数 があり、はじめ です。 正の整数からなる数列 が与えられるので、 について順番に次の操作を行います。
- マス に駒を 個置く。
- マス上のすべての駒を番号が 大きいマスに進める。言い換えると、駒がマス にあればその駒をマス に移動する。
ただし移動先のマスが存在しない (すなわち が 以上になる) 駒たちに関しては、それらを取り除いて に取り除いた個数を加算する。
すべての操作を行った後の の値を出力してください。
制約
- 入力される値はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
出力
操作終了時点での の値を出力せよ。
4
1 1 3 2
3
操作を説明すると次のようになり、操作終了時点での の値は になります。
- での操作 1. マス に駒を置く。この時点でマス にコマが乗っている。 2. すべての駒を 大きいマスに進める。移動を終えた時点でマス に駒が乗っている。
- での操作 1. マス に駒を置く。この時点でマス にコマが乗っている。 2. すべての駒を 大きいマスに進める。移動を終えた時点でマス に駒が乗っている。
- での操作 1. マス に駒を置く。この時点でマス にコマが乗っている。 2. すべての駒を 大きいマスに進める。 この時、マス にある駒は移動先のマスが存在しないため (それぞれ なので) 、盤上から取り除いて に を加算する。 の値は になる。 移動を終えた時点でマス に駒が乗っている。
- での操作 1. マス に駒を置く。この時点でマス にコマが乗っている。 2. すべての駒を 大きいマスに進める。 この時、マス にある駒は移動先のマスが存在しないため ( なので) 、盤上から取り除いて に を加算する。 の値は になる。 移動を終えた時点でマス に駒が乗っている。
3
1 1 1
0
の値が操作中に変化しない場合もあります。
10
2 2 4 1 1 1 4 2 2 1
8