serega1112

Korova

Dec 5th, 2020 (edited)
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.44 KB | None | 0 0
  1. n, k = map(int, input().split())
  2. s = list(map(int, input().split()))
  3.  
  4. def check(g, k, s):
  5.     prev = -float('inf')
  6.     i = 0
  7.     while k:
  8.         while s[i] - g < prev:
  9.             i += 1
  10.             if i == len(s):
  11.                 return False
  12.         k -= 1
  13.         prev = s[i]
  14.     return True
  15.  
  16. l = 1
  17. r = s[-1] + 1
  18.  
  19. while r - l > 1:
  20.     g = l + (r - l) // 2
  21.     if check(g, k, s):
  22.         l = g
  23.     else:
  24.         r = g
  25.  
  26. print(l)
Add Comment
Please, Sign In to add comment