TopCoder

User's AC Ratio

100.0% (3/3)

Submission's AC Ratio

100.0% (3/3)

Tags

Description

小風有一個數列 a1,a2,,aN,每一項皆落在 [0,M1],小風想把這個序列變成遞增數列,也就是每一項皆不比前一項小,他的操作方式如下:

  • 選取正整數 k 以及 k 個下標 1i1<i2<<ikN
  • 將每個元素 aij,(1jk) 變成 ((aij+1) modM)

小風想知道他最少需要幾次操作才能達成他的目標,請你幫幫小風。

Input Format

輸入第一行有兩個正整數 N,M(1N,M300000)
輸入第二行包含 N 個整數 a1,a2,,aN(0ai<M)

Output Format

請輸出一個整數,代表小風至少需要幾次操作。

Sample Input 1

5 3
0 0 0 1 2

Sample Output 1

0

Sample Input 2

5 7
0 6 1 3 2

Sample Output 2

1

Hints

Problem Source

Codeforces

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 0~30 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2
1 1000 524288 65536 1 2
2 1000 524288 65536 2
3 1000 524288 65536 2
4 1000 524288 65536 2
5 1000 524288 65536 2
6 1000 524288 65536 2
7 1000 524288 65536 2
8 1000 524288 65536 2
9 1000 524288 65536 2
10 1000 524288 65536 2
11 1000 524288 65536 2
12 1000 524288 65536 2
13 1000 524288 65536 2
14 1000 524288 65536 2
15 1000 524288 65536 2
16 1000 524288 65536 2
17 1000 524288 65536 2
18 1000 524288 65536 2
19 1000 524288 65536 2
20 1000 524288 65536 2
21 1000 524288 65536 2
22 1000 524288 65536 2
23 1000 524288 65536 2
24 1000 524288 65536 2
25 1000 524288 65536 2
26 1000 524288 65536 2
27 1000 524288 65536 2
28 1000 524288 65536 2
29 1000 524288 65536 2
30 1000 524288 65536 2