atcoder#AGC032E. [AGC032E] Modulo Pairing

[AGC032E] Modulo Pairing

配点 : 12001200

問題文

MM を正整数とします。

2N2 N 個の整数 a1,a2,,a2Na_1, a_2, \ldots, a_{2 N} が与えられます。 ここで、各 ii について 0ai<M0 \leq a_i < M です。

2N2 N 個の整数を NN 組のペアに分けることを考えます。 このとき、各整数はちょうど 11 つのペアに属さなければなりません。

ペア (x,y)(x, y)醜さ(x+y)modM(x + y) \mod M と定義します。 NN 組のペアの醜さの最大値を ZZ としたとき、ZZ の最小値を求めてください。

制約

  • 入力はすべて整数である。
  • 1N1051 \leq N \leq 10^5
  • 1M1091 \leq M \leq 10^9
  • 0ai<M0 \leq a_i < M

入力

入力は以下の形式で標準入力から与えられる。

NN MM

a1a_1 a2a_2 \cdots a2Na_{2N}

出力

NN 組のペアの醜さの最大値を ZZ としたとき、ZZ の最小値を出力せよ。

3 10
0 2 3 4 5 9
5

例えば、(0,5),(2,3),(4,9)(0, 5), (2, 3), (4, 9) とペアを作ればよいです。 このとき、ペアの醜さはそれぞれ 5,5,35, 5, 3 となります。

2 10
1 9 1 9
0

(1,9),(1,9)(1, 9), (1, 9) とペアを作ればよいです。 このとき、ペアの醜さはともに 00 です。