Advertisement
Alex_tz307

USACO 2016 January Contest, Silver Problem 1. Angry Cows

Dec 6th, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. // http://www.usaco.org/index.php?page=viewproblem2&cpid=594
  2. #include <bits/stdc++.h>
  3. #define int long long
  4.  
  5. using namespace std;
  6.  
  7. ifstream fin("angry.in");
  8. ofstream fout("angry.out");
  9.  
  10. int32_t main() {
  11.     int N, K;
  12.     fin >> N >> K;
  13.     vector<int> x(N + 1);
  14.     for(int i = 1; i <= N; ++i)
  15.         fin >> x[i];
  16.     sort(x.begin() + 1, x.end());
  17.     int st = 1, dr = 1e12, ans = 1e12;
  18.     while(st <= dr) {
  19.         int R = (st + dr) >> 1;
  20.         int cnt = 1, p = 1;
  21.         for(int i = 2; i <= N; ++i)
  22.             if(x[i] - x[p] > 2 * R) {
  23.                 ++cnt;
  24.                 p = i;
  25.             }
  26.         if(cnt <= K) {
  27.             ans = R;
  28.             dr = R - 1;
  29.         }
  30.         else
  31.             st = R + 1;
  32.     }
  33.     fout << ans;
  34. }
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement