A - 増減ソート
Editorial
Time Limit: 5 sec / Memory Limit: 1024 MB
配点 : 点
問題文
長さ の数列 が与えられます。 には から までの整数が 回ずつ現れます。ここから、あなたは以下の操作を 回行います。
- 整数 を指定する。 の値をそれぞれ 減少させ、 の値をそれぞれ 増加させる。
- ただし、 のすべての要素は常に 以上 以下でなければならない。同じ値が複数出現することは許される。
- また、区間 と区間 に重複があってはならず、 つの区間の長さは等しくなければならない。
あなたは、この操作により、 の各要素の値を , , ... , にできるだけ近づけたいです。 値 ができるだけ小さくなるような手順を出力してください。
制約
- 与えられる は から までの整数のランダムな順列である。
入力
入力は以下の形式で与えられる。
出力
回の操作を以下の形式で出力せよ。
ここで、任意の に対し、 かつ かつ を満たす必要がある。
採点方法
つのテストケースに対する点数は、生成された数列を として 点となる。
テストケースは ケース与えられる。それぞれのテストケースについて、 である。すべてのテストケースに対する点数の和が、その提出の得点となる。
なお、 ケースでも出力が不正であった場合、example_01 以外の点数は全て 点となる。
入力例0Copy
Copy
10 3 8 9 1 4 6 7 3 2 10 5
- この入力は制約を満たしません。
出力例0Copy
Copy
1 2 7 8 6 7 7 5 5 4 5 5 10 10 5
- 初期状態は です。以下次のように変化します。
入力例1
採点結果の「example_01」が、こちらのデータとなります。このデータも採点対象となります。 なお、example_01 は のデータです。