#aBC281Did328. [ABC281D] Max Multiple

[ABC281D] Max Multiple

AT_abc281_d [ABC281D] Max Multiple

题目描述

给定一个非负整数列 A=(a1,a2,,aN)A=(a_1,a_2,\ldots,a_N)

定义 SS 为可以表示为 AA 中(下标互不相同的)KK 个项之和的所有非负整数的集合。

请你求出 SS 中是 DD 的倍数的最大值。如果 SS 中没有 DD 的倍数,则输出 1-1

输入格式

输入以如下格式从标准输入给出。

NN KK DD a1a_1 \ldots aNa_N

输出格式

请输出答案。

输入输出样例 #1

输入 #1

4 2 2
1 2 3 4

输出 #1

6

输入输出样例 #2

输入 #2

3 1 2
1 3 5

输出 #2

-1

说明/提示

限制条件

  • 1KN1001 \leq K \leq N \leq 100
  • 1D1001 \leq D \leq 100
  • 0ai1090 \leq a_i \leq 10^9
  • 所有输入均为整数

样例解释 1

AA 中选择 22 个项的方法如下:

  • 选择 a1a_1a2a_2,和为 1+2=31+2=3
  • 选择 a1a_1a3a_3,和为 1+3=41+3=4
  • 选择 a1a_1a4a_4,和为 1+4=51+4=5
  • 选择 a2a_2a3a_3,和为 2+3=52+3=5
  • 选择 a2a_2a4a_4,和为 2+4=62+4=6
  • 选择 a3a_3a4a_4,和为 3+4=73+4=7

因此,S={3,4,5,6,7}S=\{3,4,5,6,7\}SS 中是 22 的倍数的最大值为 66,所以输出 66

样例解释 2

本例中 S={1,3,5}S=\{1,3,5\}SS 中没有任何 22 的倍数,因此输出 1-1

由 ChatGPT 4.1 翻译