TopCoder

User's AC Ratio

66.7% (4/6)

Submission's AC Ratio

33.3% (5/15)

Tags

Description

toad 最近看太多三國,迷上了烽火台,因此 toad 決定要蓋一組從新竹到台北的烽火台。

從新竹到台北的道路上有 $N$ 座 toad 可以購買的地基,依序(從新竹到台北)編號為第 $1$ 座、第 $2$ 座、$\dots$ 、第 $N$ 座。為了要讓烽火台的傳訊順利,相鄰的兩座地基 toad 至少要購買一座,也就是對於第 $i$ 座與第 $i + 1$ 座地基,至少要有一座被 toad 購買。當然,因為 toad 很有錢,因此在滿足前面的要求下,他可以購買任意多的地基。

在所有合法的頻道 $[0, M - 1]$ 之中,toad 可以自己決定他發送的訊息的頻道 $x$。而對於第 $i$ 座地基,有一個頻率指數 $A_i$,如果 toad 選擇在頻道 $x$ 發送訊息,那麼該座地基蓋出的烽火台的發送品質就為 $(A_i + x) \text{ mod } M$ ,也就是 $A_i + x$ 除以 $M$ 的餘數。

toad 希望選擇最佳的頻道與購買的地基的組合,讓蓋出來的烽火台發送品質的 中位數 最大,可以請你幫助 toad 找到最佳的頻道與購買的地基的組合下,蓋出來的烽火台發送品質的中位數最大可以是多少嗎?

對於一個長度為 $n$ 的數列 $B$,我們定義 $B$ 的中位數為 $B$ 第 $\lceil \frac n 2 \rceil$ 小的元素,其中 $\lceil x \rceil$ 為不小於 $x$ 最小的整數。

Input Format

輸入只有兩行。

第一行有兩個整數 $N, M$。

第二行有 $N$ 個正整數 $A_1, A_2, \dots, A_N$。

  • $1 \le N\le 10^ 5$
  • $1 \le M \le 10^ 3$
  • $\forall i \in [N], 0 \le A_i \le M - 1$

Output Format

輸出一個正整數,代表最佳的頻道與購買的地基的組合下,蓋出來的烽火台發送品質的中位數最大可以是多少

Sample Input 1

5 4
1 2 3 2 1

Sample Output 1

3

Sample Input 2

7 10
3 1 4 8 5 9 2

Sample Output 2

8

Sample Input 3

6 6
0 1 2 3 4 5

Sample Output 3

4

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~2 範例測資。 0
2 0~12 $N \le 100$ 25
3 0~22 $N \le 10^ 4$ 35
4 0~42 無特別限制。 40

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 262144 65536 1 2 3 4
1 1000 262144 65536 1 2 3 4
2 1000 262144 65536 1 2 3 4
3 1000 262144 65536 2 3 4
4 1000 262144 65536 2 3 4
5 1000 262144 65536 2 3 4
6 1000 262144 65536 2 3 4
7 1000 262144 65536 2 3 4
8 1000 262144 65536 2 3 4
9 1000 262144 65536 2 3 4
10 1000 262144 65536 2 3 4
11 1000 262144 65536 2 3 4
12 1000 262144 65536 2 3 4
13 1000 262144 65536 3 4
14 1000 262144 65536 3 4
15 1000 262144 65536 3 4
16 1000 262144 65536 3 4
17 1000 262144 65536 3 4
18 1000 262144 65536 3 4
19 1000 262144 65536 3 4
20 1000 262144 65536 3 4
21 1000 262144 65536 3 4
22 1000 262144 65536 3 4
23 1000 262144 65536 4
24 1000 262144 65536 4
25 1000 262144 65536 4
26 1000 262144 65536 4
27 1000 262144 65536 4
28 1000 262144 65536 4
29 1000 262144 65536 4
30 1000 262144 65536 4
31 1000 262144 65536 4
32 1000 262144 65536 4
33 1000 262144 65536 4
34 1000 262144 65536 4
35 1000 262144 65536 4
36 1000 262144 65536 4
37 1000 262144 65536 4
38 1000 262144 65536 4
39 1000 262144 65536 4
40 1000 262144 65536 4
41 1000 262144 65536 4
42 1000 262144 65536 4