#codefestival2015qualBd. [codefestival_2015_qualB_d]Squares, Pieces and Coloring
[codefestival_2015_qualB_d]Squares, Pieces and Coloring
問題文
個の白いマスが横 列に並んでいます。左から 番目のマスをマス と呼びます。
また、駒が 個あり、 番目の駒を駒 と呼びます。
さらに、 から までの数を数えることのできるカウンタが つあります。
これらのマスと駒に対し 回の操作を行います。 回目の操作は以下のように行います。
- まず、マス に駒 を置き、カウンタを に初期化する。
- 駒のあるマスの色が白ならそのマスを黒に塗ってカウンタを 増加させ、駒のあるマスの色が黒なら つ右のマスに駒を移動させる。
- を繰り返していき、カウンタの値が になったらその時点で操作を終了する。
これらの操作が終わった時点で 個の駒がそれぞれどのマスにあるかを求めてください。
入力
入力は以下の形式で標準入力から与えられる。
:
- 行目には、整数 が与えられる。
- 行目からの 行には、各操作の情報が与えられる。このうち 行目には、整数 が与えられる。これは 回目の操作のはじめに駒 を置くマスがマス であり、カウンタが になった時点で操作 が終了となることを表す。
部分点
この問題には部分点が設定されている。
- 全ての操作が終わった時点での駒のあるマスの番号が全て 以下であるデータセットに正解した場合は、 点が与えられる。
- を満たすデータセットに正解した場合は、上記とは別に 点が与えられる。
- 追加の制約のないデータセットに正解した場合は、上記とは別に 点が与えられる。
出力
出力は 行からなる。このうち 行目には、全ての操作が終わった時点で駒 があるマスの番号を表す つの整数を出力せよ。出力の末尾にも改行を入れること。
入力例1
4
3 3
10 1
4 2
2 4
出力例1
5
10
7
11
下図は各操作後のマスと駒の状態を表しています。
入力例2
8
2 1
3 1
1 1
5 1
1 1
9 1
8 2
7 9
出力例2
2
3
1
5
4
9
10
18
入力例3
5
1000000000 1000000000
1000000000 1000000000
1000000000 1000000000
1000000000 1000000000
1000000000 1000000000
出力例3
1999999999
2999999999
3999999999
4999999999
5999999999
出力が bit整数型に収まらない場合もあることに注意してください。