Uwwan

# 24283

Apr 22nd, 2022 (edited)
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.98 KB | None | 0 0
  1. # 24283
  2. #f = open('File_A__mcti.txt')
  3. f = open('File_B__mctk.txt')
  4.  
  5.  
  6. n = int(f.readline())
  7. # >.<
  8. num = 42
  9. ans = float('inf')
  10. psums = []  # Максимизированные п_смуммы с определенным остатком
  11. for q in range(num):  # Макс п_сумма с ост 0 есть A priori
  12.     filler = -(10 ** 10)  # чтобы строка "if ps > psums[ost]:" по-любому прокатила
  13.     psums.append(filler * (q != 0) + q)
  14. # чтобы найти мин префсумму, надо вычитать максимальную из текущей и перезаписывать ответ
  15. # если получилась сумма меньше
  16. ps = 0  # present psum
  17. for i in range(n):
  18.     k = int(f.readline())
  19.     ps += k
  20.     ost = ps % num
  21.     temp = ps - psums[ost]
  22.     if temp < ans:
  23.         ans = temp
  24.        
  25.     if ps > psums[ost]:
  26.         psums[ost] = ps
  27.        
  28. print(ans)
  29. # I got it right? duh?
  30. # A: -7098
  31. # B: -188538
  32.  
Add Comment
Please, Sign In to add comment