Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from functools import reduce
- from math import gcd
- A = [10, 18, 26, 33, 35]
- S = [0, 35, 35, 35, 35, 35, 35, 35, 35, 35]
- P = [4, None, None, None, None, None, None, None, None, None]
- Q = [[0]]
- L = [1, 0, 0, 0, 0]
- Z = [0]
- Amod = [A[i] % A[0] for i in range(len(A))]
- Aquot = [A[i] // A[0] for i in range(len(A))]
- while Z:
- w = Z.pop(0)
- while Q[w]:
- v = Q[w].pop()
- for j in range(2, P[v]+1):
- u = v + Amod[j-1]
- w = S[v] + Aquot[j-1]
- if u >= A[0]:
- u = u - A[0]
- w = w - 1
- if w < S[u]:
- Q[w].append(u)
- S[u] = w
- P[u] = j
- if L[w] == 0:
- Z.append(w)
- Z.sort()
- for v in range(len(S)):
- print(S[v] * A[0] + v - A[0])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement