#agc032e. [agc032_e]Modulo Pairing

[agc032_e]Modulo Pairing

题目描述

给定一个正整数 MM

你会收到 2N2N 个整数 a1,a2,,a2Na_1, a_2, \ldots, a_{2N},其中对于每个 ii,满足 0ai<M0 \leq a_i < M

考虑将这 2N2N 个整数分成 NN 对。在这里,每个整数必须属于恰好一个对。

我们将对 (x,y)(x, y) 的“丑陋度”定义为 (x+y)modM(x+y) \mod M。令 ZZNN 对中最大的丑陋度。找出 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}

输出

输出 ZZ 的最小可能值,其中 ZZNN 对中最大的丑陋度。

示例输入1

3 10
0 2 3 4 5 9

示例输出1

5

一种可能的解法是构建对 (0,5)(0, 5)(2,3)(2, 3)(4,9)(4, 9),对应的丑陋度分别为 5,55, 533

示例输入2

2 10
1 9 1 9

示例输出2

0

应该构建对 (1,9)(1, 9)(1,9)(1, 9),对应的丑陋度都为 00