No.1972 Modulo Set
タグ : / 解いたユーザー数 156
作問者 : magsta / テスター : Kazun
問題文
$N$ 個の正整数 $A_1,A_2,...,A_N$ と 正整数 $M$ が与えられます。
$A_1,A_2...,A_N$ を要素とする集合を集合 $S$ とします。
$S$ の部分集合かつ以下の条件を満たす集合のうち、要素数が最大である集合の要素数を求めてください。
条件
集合の要素のうち異なる 2 つの数を取り出し、これらをそれぞれ $P, Q$ とする。
このとき、どのように数を取り出したとしても、$P+Q$ が $M$ の倍数となることはない。
(集合の要素数が $1$ の場合は、必ずこの条件を満たすとする。)
制約
- $\displaystyle 1 \leq N \leq 10^5$
- $\displaystyle 1 \leq M \leq 10^{12}$
- $\displaystyle 1 \leq A_i \leq 10^{12} \ (1 \leq i \leq N)$
- $\displaystyle A_i \neq A_j \ (1 \leq i,j \leq N, \ i \neq j)$
- 入力はすべて整数である
入力
入力は以下の形式で標準入力から与えられる。
$N \ \ M$ $A_1 \ \ A_2 \ \dots \ A_N$
出力
求めた値を出力し、最後に改行せよ。
サンプル
サンプル1
入力
4 5 7 14 3 5
出力
3
$\{7, 14, 5\}$ や $\{14, 3, 5\}$ は、集合 $S$ の部分集合かつ条件を満たす集合です。
$\{7, 14, 3, 5\}$ は条件を満たさないため、最大の要素数は $3$ となります。
サンプル2
入力
1 8 3
出力
1
要素数が $1$ の場合、必ず条件を満たします。
サンプル3
入力
14 5 218 64 142 792 323 402 594 857 394 977 577 495 264 29
出力
12
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。