Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. import sys
  2.  
  3. x, a, y, b, l = list(map(lambda x: int(x), sys.stdin.readline().split()))
  4.  
  5. left = 1
  6. right = (x * a + y * b + l - 1) // l + 1
  7.  
  8. while left + 1 < right:
  9. w = (left + right) // 2
  10. F = [[0] * (y + 1) for i in range(x + 1)]
  11. for k in range(x + 1):
  12. for p in range(y + 1):
  13. if k * a + p * b >= w:
  14. for i in range(x + 1 - k):
  15. for j in range(y + 1 - p):
  16. F[i + k][j + p] = max(F[i][j] + 1, F[i + k][j + p])
  17. break
  18. if a * k >= w:
  19. break
  20. if F[x][y] >= l:
  21. left = w
  22. else:
  23. right = w
  24.  
  25. print(left)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement