The_Law

Untitled

Apr 6th, 2018
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.78 KB | None | 0 0
  1. def calc(k, d, i) :
  2.     res = ( (i - d + 1) * ((i - d + 1) + 1) )// 2
  3.     for j in range(d, 7):
  4.         if (j <= 5) :
  5.             res -= k
  6.     while (i % 7 != 0) :
  7.         if (i % 7 <= 5) :
  8.             res -= k
  9.         i -= 1
  10.     res -= (((i - 7) // 7) * 5) * k
  11.     return res
  12.  
  13. k, m, d = map(int, input().split())
  14.  
  15. flag = False
  16.  
  17. cnt = m
  18. for i in range(1, 1488):
  19.     cnt -= i
  20.     if ((i + d - 2) % 7 < 5):
  21.         cnt += k
  22.     if (cnt < 0):
  23.         flag = True
  24.     if (flag):
  25.         print(i - 1)
  26.  
  27. if (not flag):
  28.     ll = 1
  29.     rr = 7 * 10 ** 10
  30.     while (rr - ll > 1) :
  31.         mm =(ll + rr)// 2
  32.         if (m >= calc(k, d, 7 * mm)):
  33.             ll = mm
  34.         else:
  35.             rr = mm
  36.     for i in range(max(d, 7 * (rr) - 100), max(d, 7 * rr + 100)):
  37.         if (m < calc(k, d, i)) :
  38.             print(i - d)
  39.             break
Advertisement
Add Comment
Please, Sign In to add comment