Advertisement
serega1112

Verevki

Jan 23rd, 2022
877
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.56 KB | None | 0 0
  1. n, k = map(int, input().split())
  2. lengths = []
  3. for _ in range(n):
  4.     lengths.append(int(input()))
  5.  
  6. def check(lengths, checked, k):
  7.     count = 0
  8.     for l in lengths:
  9.         num = l // checked
  10.         count += num
  11.         if not num:
  12.             break
  13.     return count >= k
  14.  
  15.  
  16. if sum(lengths) < k:
  17.     print(0)
  18. else:
  19.     lengths.sort(reverse=True)
  20.     l = 0
  21.     r = lengths[0] + 1
  22.    
  23.     while r - l > 1:
  24.         mid = l + (r - l) // 2
  25.         if check(lengths, mid, k):
  26.             l = mid
  27.         else:
  28.             r = mid
  29.  
  30.     print(l)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement