Advertisement
askarulytarlan

кефа и компания

Feb 4th, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct Pair {
  6. int m, h;
  7. } a[100500];
  8.  
  9. bool cmp(Pair p1, Pair p2) {
  10. return p1.m < p2.m;
  11. }
  12.  
  13. int main() {
  14.  
  15. cin >> n >> d;
  16.  
  17. for (int i = 1; i <= n; i++)
  18. cin >> a[i].m >> a[i].h;
  19.  
  20. sort(a + 1, a + n + 1, cmp);
  21.  
  22. for (int i = 1; i <= n; i++)
  23. d[i] = d[i - 1] + a[i].h;
  24.  
  25. for (int i = 1; i <= n; i++) {
  26. l = i;
  27. r = n;
  28. pos = -1;
  29. while(l <= r) {
  30. int mid = (l + r) / 2;
  31. if (a[mid].m - a[i].m < d) {
  32. pos = mid;
  33. l = mid + 1;
  34. }
  35. else
  36. r = mid - 1;
  37. }
  38. if (pos == -1)
  39. ans = max(ans, a[i].h);
  40. else
  41. ans = max(ans, d[pos] - d[i - 1]);
  42. }
  43.  
  44. cout << ans;
  45.  
  46. return 0;
  47.  
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement