atcoder#ABC268E. [ABC268E] Chinese Restaurant (Three-Star Version)
[ABC268E] Chinese Restaurant (Three-Star Version)
题目描述
回転テーブルの周りに人 、人 、、人 がこの順番で反時計回りに等間隔で並んでいます。また、人 の目の前には料理 が置かれています。
あなたは次の操作を 回以上何度でも行うことが出来ます。
- 回転テーブルを反時計回りに 周の だけ回す。これによって、(この操作の直前に)人 の目の前にあった料理は人 の目の前に移動する。
操作を完了させた後において、人 の不満度は料理 が人 、人 のいずれかの目の前に置かれているような最小の非負整数 です。
人の不満度の総和の最小値を求めてください。
とは 整数 と正整数 に対し、 は が の倍数となるような 以上 未満の整数 を表します。(このような は一意に定まることが証明できます)
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを出力せよ。
题目大意
个人进行圆排列,即围坐在圆桌周围,位置编号依次为 ,给定序列 表示第 个人喜欢的菜品在 处, 且各不相同。定义每个人的沮丧值为其位置与 的距离。你可以任意旋转圆桌,以最小化所有人的沮丧值之和,求最小值。
4
1 2 0 3
2
3
0 1 2
0
10
3 9 6 1 7 2 8 0 5 4
20
提示
制約
- ならば
- 入力はすべて整数
Sample Explanation 1
操作を 回行うと下の画像のようになります。 ![](https://img.atcoder.jp/abc268/70536a7b7fad87d6a49ad00df89a4a30.png) この時、不満度の総和が になることを以下のように確かめられます。 - 人 の不満度は、料理 が人 の目の前に置かれているので です。 - 人 の不満度は、料理 が人 の目の前に置かれているので です。 - 人 の不満度は、料理 が人 の目の前に置かれているので です。 - 人 の不満度は、料理 が人 の目の前に置かれているので です。 不満度の総和を より小さくすることは出来ないため、答えは です。