시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
3 초 | 256 MB | 27 | 14 | 12 | 54.545% |
あなたは,JOI 社が発売したテレビゲームソフトを手に入れた.なかなか良くできたゲームであり,そ れなりに楽しみながら毎日プレイしていた.
ある日,ゲーマーの中で「レーザー」と呼称されるステージが出現した.どうやらそのステージは極め て難しく,優れたゲーマーでさえもほんのわずかな確率でしかクリアできない物であるらしい.何度もそ のステージに挑戦する中であなたは,とても高速な判断を行うことでクリアできる可能性が有ることに気 づき,プログラムを作成して対処出来るのではないかと考えた.
レーザーステージは,N 個の防壁が配置された場所が舞台となっている.舞台は長方形であり, 1 × 1 の 正方形のマスに分かれている.各マスは 0 以上の整数 x, y によって (x, y) と表される.(0, 0) は左下隅のマ スであり,(x, y) は (0, 0) から右に x マス,上に y マス進んだマスを表す.
ステージが始まると敵が出現し攻撃を行う.M 回の攻撃が順番に行われる.j 回目の攻撃で,敵はマス (Pj, N + 1) からマス (Pj, 0) に向かってレーザーをまっすぐに発射する.
各防壁は y 座標が同じ連続したいくつかのマスに置かれる.防壁 i (1 ≦ i ≦ N) は左右の幅 Bi − Ai + 1,上 下の幅 1 の長方形であり,ステージ開始時にはマス (Ai , i) からマス (Bi , i) までを占める.あなたは,敵の 最初の攻撃の直前と,敵の攻撃と攻撃の合間に何度でも防壁を左右に動かすことができる.1 回の移動で 1 つの防壁を右に 1 マス動かすか,または左に 1 マス動かすことができる.
レーザーは防壁にぶつかると威力が弱くなる.レーザーをすべての防壁にぶつけるように防壁を動かす ことで,レーザーの威力を最小にしたい.
あなたは,このステージにおいて,防壁の移動回数をできるだけ少なくしたい.
ステージ開始時の各防壁の位置と,それぞれの敵の攻撃の位置が与えられる.すべてのレーザーをすべ ての防壁にぶつけるように防壁を動かすとき,それぞれの防壁の移動回数の最小値を求めよ.
標準入力から以下のデータを読み込め.
標準出力に N 行出力せよ.i 行目 (1 ≦ i ≦ N) には,防壁 i の移動回数の最小値を出力せよ.
追加の制限はない.
4 4 0 3 4 4 2 7 8 11 6 4 3 8
5 10 1 7
この入力において,防壁の移動回数を最小にする動かし方の 1 つは以下の通りである:
この動かし方において,防壁 1 を 5 回,防壁 2 を 10 回,防壁 3 を 1 回,防壁 4 を 7 回動かすことになる.
7 11 12 39 22 23 5 38 6 47 10 43 0 50 18 46 38 19 15 1 12 29 29 0 6 40 6
34 178 13 6 18 0 36