blob: a67f30a1ae41cf281feeffc22ed5914f24981b67 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
def modular_sum(arr, n, m):
if (n > m):
return True
DP = [False for i in range(m)]
for i in range(n):
if (DP[0]):
return True
temp = [False for i in range(m)]
for j in range(m):
if (DP[j] == True):
if (DP[(j + arr[i]) % m] == False):
temp[(j + arr[i]) % m] = True
for j in range(m):
if (temp[j]):
DP[j] = True
DP[arr[i] % m] = True
return DP[0]
|