AT_agc032_d [AGC032D] Rotation Sort

Description

[problemUrl]: https://atcoder.jp/contests/agc032/tasks/agc032_d $ \{\ 1,\ \ldots,\ N\ \} $ の順列 $ p\ =\ (p_1,\ \ldots,\ p_N) $ が与えられます。 あなたは、次の 2 種類の操作を好きな順序で繰り返し行うことができます。 - コスト $ A $ を支払う。 整数 $ l $ と $ r $ ($ 1\ \leq\ l\

Input Format

N/A

Output Format

N/A

Explanation/Hint

### 制約 - 入力はすべて整数である。 - $ 1\ \leq\ N\ \leq\ 5000 $ - $ 1\ \leq\ A,\ B\ \leq\ 10^9 $ - $ (p_1\ \ldots,\ p_N) $ は $ \{\ 1,\ \ldots,\ N\ \} $ の順列である。 ### Sample Explanation 1 $ (p_1,\ p_2,\ p_3) $ を左にひとつシフトすると、$ p\ =\ (1,\ 2,\ 3) $ となります。 ### Sample Explanation 2 例えば、次のように操作を行えばよいです。 - $ (p_1,\ p_2,\ p_3,\ p_4) $ を左にひとつシフトする。 すると、$ p\ =\ (2,\ 3,\ 1,\ 4) $ となる。 - $ (p_1,\ p_2,\ p_3) $ を右にひとつシフトする。 すると、$ p\ =\ (1,\ 2,\ 3,\ 4) $ となる。 このとき、総コストは $ 20\ +\ 30\ =\ 50 $ です。