Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def calc(k, d, i) :
- res = ( (i - d + 1) * ((i - d + 1) + 1) )// 2
- for j in range(d, 7):
- if (j <= 5) :
- res -= k
- while (i % 7 != 0) :
- if (i % 7 <= 5) :
- res -= k
- i -= 1
- res -= (((i - 7) // 7) * 5) * k
- return res
- ans = 10 ** 18
- k, m, d = map(int, input().split())
- for i in range(1, 10):
- if (calc(k, d, i) < m):
- ans = i - 1
- break
- ll = 1
- rr = 7 * 10 ** 10
- while (rr - ll > 1) :
- mm = (ll + rr) // 2
- if (m >= calc(k, d, 7 * mm)):
- ll = mm
- else :
- rr = mm
- for i in range(max(d, 7 * (rr) - 100), max(d, 7 * rr + 100)):
- if (m < calc(k, d, i)) :
- ans = min(i - d, ans)
- break
- print(ans)
Advertisement
Add Comment
Please, Sign In to add comment