Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 24283
- #f = open('File_A__mcti.txt')
- f = open('File_B__mctk.txt')
- n = int(f.readline())
- # >.<
- num = 42
- ans = float('inf')
- psums = [] # Максимизированные п_смуммы с определенным остатком
- for q in range(num): # Макс п_сумма с ост 0 есть A priori
- filler = -(10 ** 10) # чтобы строка "if ps > psums[ost]:" по-любому прокатила
- psums.append(filler * (q != 0) + q)
- # чтобы найти мин префсумму, надо вычитать максимальную из текущей и перезаписывать ответ
- # если получилась сумма меньше
- ps = 0 # present psum
- for i in range(n):
- k = int(f.readline())
- ps += k
- ost = ps % num
- temp = ps - psums[ost]
- if temp < ans:
- ans = temp
- if ps > psums[ost]:
- psums[ost] = ps
- print(ans)
- # I got it right? duh?
- # A: -7098
- # B: -188538
Add Comment
Please, Sign In to add comment