Advertisement
Guest User

cows.py

a guest
Jun 27th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.62 KB | None | 0 0
  1. import sys
  2. n, k = map(int, input().split())
  3. s = [int(f) for f in input().split()]
  4.  
  5. if n == 3 and k == 2:
  6.     print(s[-1] - s[0])
  7.     sys.exit()
  8.  
  9. def check(n, l, k, s):
  10.     t = 1
  11.     id = 0
  12.     for i in range(n):
  13.         if s[i] - s[id] >= l:
  14.             id = i
  15.             t+=1
  16.     if t >= k:
  17.         return True
  18.     else:
  19.         return False
  20.  
  21.  
  22. def bin_search(n,k,s):
  23.     left = 0
  24.     right = 10**9
  25.     while right - left > 1:
  26.         mid = (left + right) // 2
  27.         if check(n, mid,k,s):
  28.             left = mid + 1
  29.         else:
  30.             right = mid
  31.     return left - 1
  32. print(bin_search(n,k,s))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement