AT_abc281_d [ABC281D] Max Multiple
题目描述
给定一个非负整数列 $A=(a_1,a_2,\ldots,a_N)$。
定义 $S$ 为可以表示为 $A$ 中(下标互不相同的)$K$ 个项之和的所有非负整数的集合。
请你求出 $S$ 中是 $D$ 的倍数的最大值。如果 $S$ 中没有 $D$ 的倍数,则输出 $-1$。
输入格式
输入以如下格式从标准输入给出。
> $N$ $K$ $D$ $a_1$ $\ldots$ $a_N$
输出格式
请输出答案。
说明/提示
## 限制条件
- $1 \leq K \leq N \leq 100$
- $1 \leq D \leq 100$
- $0 \leq a_i \leq 10^9$
- 所有输入均为整数
## 样例解释 1
从 $A$ 中选择 $2$ 个项的方法如下:
- 选择 $a_1$ 和 $a_2$,和为 $1+2=3$。
- 选择 $a_1$ 和 $a_3$,和为 $1+3=4$。
- 选择 $a_1$ 和 $a_4$,和为 $1+4=5$。
- 选择 $a_2$ 和 $a_3$,和为 $2+3=5$。
- 选择 $a_2$ 和 $a_4$,和为 $2+4=6$。
- 选择 $a_3$ 和 $a_4$,和为 $3+4=7$。
因此,$S=\{3,4,5,6,7\}$。$S$ 中是 $2$ 的倍数的最大值为 $6$,所以输出 $6$。
## 样例解释 2
本例中 $S=\{1,3,5\}$。$S$ 中没有任何 $2$ 的倍数,因此输出 $-1$。
由 ChatGPT 4.1 翻译