#6962. D - Max Multiple

0

D - Max Multiple

当前没有测试数据。

D-最大倍数

分值:400分

问题描述

给定一个非负整数序列 A=(a1,a2,…,aN)A=(a_1,a_2,\ldots,a_N)。 令 SS 为可以由 AA 的 KK 个项(具有不同的索引)相加得到的非负整数的集合。 找出 SS 中最大的 DD 的倍数。 如果在 SS 中找不到 DD 的倍数,则输出 -1。

约束条件

  • 1≤K≤N≤1001 \leq K \leq N \leq 100
  • 1≤D≤1001 \leq D \leq 100
  • 0≤ai≤1090 \leq a_i \leq 10^9
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出:

NN KK DD

a1a_1 …\ldots aNa_N

输出

输出答案。

示例

输入1

4 2 2
1 2 3 4

输出1

6

这里是所有在AA中选择两项的方式:

  1. 选择 a1a_1 和 a2a_2,它们的和是 1+2=31+2=3。
  2. 选择 a1a_1 和 a3a_3,它们的和是 1+3=41+3=4。
  3. 选择 a1a_1 和 a4a_4,它们的和是 1+4=51+4=5。
  4. 选择 a2a_2 和 a3a_3,它们的和是 2+3=52+3=5。
  5. 选择 a2a_2 和 a4a_4,它们的和是 2+4=62+4=6。
  6. 选择 a3a_3 和 a4a_4,它们的和是 3+4=73+4=7。

因此,我们有 S={3,4,5,6,7}S=\{3,4,5,6,7\}。在 SS 中最大的 22 的倍数是 66,所以你应该输出 66。

输入2

3 1 2
1 3 5

输出2

-1

在这个例子中,我们有 S={1,3,5}S=\{1,3,5\}。SS 中没有任何数是 22 的倍数,所以你应该输出 -1。