Advertisement
vladm98

Untitled

Oct 15th, 2017
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int axa[100006];
  6. bool check (int k, int t, int G)
  7. {
  8. for (int i = 1; i<=k+1; ++i)
  9. {
  10. int dist = axa[i] - axa[i-1];
  11. if (dist > G + t) return false;
  12. t -= max (0, dist - G);
  13. }
  14. return true;
  15. }
  16. int main()
  17. {
  18. ifstream fin ("ghiozdan.in");
  19. ofstream fout ("ghiozdan.out");
  20. int put = 24;
  21. int d, k, t;
  22. fin >> d >> k >> t;
  23. axa[0] = 0;
  24. axa[k+1] = d;
  25. for (int i = 1; i<=k; ++i)
  26. fin >> axa[i];
  27. int best = 0;
  28. if (check(k, t, best))
  29. {
  30. fout << best;
  31. return 0;
  32. }
  33. for (int i = put; i>=0; --i)
  34. if (check(k, t, best + (1<<i)) == false)
  35. best += (1<<i);
  36. fout << best + 1;
  37. return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement