atcoder#AGC032E. [AGC032E] Modulo Pairing

[AGC032E] Modulo Pairing

题目描述

M M を正整数とします。

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

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

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

输入格式

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

N N M M a1 a_1 a2 a_2 \cdots a2N a_{2N}

输出格式

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

题目大意

MM 为一正整数。

给出 2N2 N 个整数 a1,a2,,a2Na_1, a_2, \ldots , a_{2N},满足 0ai<M0 \le a_i < M

你需要把这 2N2 N 个整数分成 NN 对,每一对 (x,y)(x, y) 的权值为 (x+y)modM(x + y) \bmod M

令一种分配方案的权值为每一对的权值的最大值,请问权值最小的分配方案的权值为多少?

  • 1N1051 \le N \le {10}^51M1091 \le M \le {10}^90ai<M0 \le a_i < M
3 10
0 2 3 4 5 9
5
2 10
1 9 1 9
0

提示

制約

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

Sample Explanation 1

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

Sample Explanation 2

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