Guest User

Untitled

a guest
Jun 22nd, 2017
2,709
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <map>
  4. #include <set>
  5. #include <cassert>
  6. #include <vector>
  7. #include <cmath>
  8. using namespace std;
  9. const int MAXN = 100005;
  10. const int INF = 2000000007;
  11. int dp[MAXN];
  12. int main(int argc, char const *argv[])
  13. {
  14. int n,k;
  15. cin>>n>>k;
  16. vector <int> A(n);
  17. for (int i = 0; i < n; ++i)
  18. {
  19. cin>>A[i];
  20. }
  21. int lo = 0, hi = INF, mid;
  22. while(lo < hi)
  23. {
  24. mid = (lo + hi)/2;
  25. bool ok = false;
  26. int curr = 1, cmax = 1;
  27. for (int i = 1; i < n; ++i)
  28. {
  29. if(A[i] > A[i-1] + mid)
  30. curr = 1;
  31. else
  32. curr++;
  33. cmax = max(cmax, curr);
  34. }
  35. if(n - cmax <= k)
  36. hi = mid;
  37. else
  38. lo = mid + 1;
  39. }
  40. cout<<lo<<"\n";
  41. return 0;
  42. }
Add Comment
Please, Sign In to add comment