23 lines
504 B
Python
23 lines
504 B
Python
|
import io
|
||
|
import sys
|
||
|
|
||
|
sys.stdin = io.StringIO('''5 5
|
||
|
4 8 2 9 1''') # 20
|
||
|
|
||
|
n, k = map(int, input().split())
|
||
|
a = list(map(int, input().split()))
|
||
|
dp = [[-1] * k for i in range(n + 1)]
|
||
|
dp[0][0] = 0
|
||
|
for i in range(n + 1):
|
||
|
for j in range(k):
|
||
|
if dp[i - 1][j] != -1:
|
||
|
dp[i][j] = dp[i - 1][j]
|
||
|
tmp = (j - a[i - 1] % k + k) % k
|
||
|
if dp[i - 1][tmp] != -1:
|
||
|
dp[i][j] = max(dp[i][j], dp[i - 1][tmp] + a[i - 1])
|
||
|
|
||
|
if dp[n][0] == 0:
|
||
|
print(-1)
|
||
|
else:
|
||
|
print(dp[n][0])
|