Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
51
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. long long n, m, d, i, ans;
  6. pair<long long, long long> a[100005];
  7.  
  8. int main() {
  9. #ifndef ONLINE_JUDGE
  10. freopen("input.txt", "r", stdin);
  11. #else
  12. #endif
  13. scanf("%lld %lld", &n, &d);
  14. for (i = 0; i < n; i++) {
  15. long long k, x;
  16. scanf("%lld %lld", &k, &x);
  17. a[i] = make_pair(k, x);
  18. }
  19. ans = LLONG_MIN;
  20. sort(a, a + n);
  21. vector <long long> pref(n+1);
  22. long long sum = 0;
  23. for (i = 0; i <= n; i++) {
  24. pref[i] = sum;
  25. sum += a[i].second;
  26. }
  27. long long bb = 0, tp = 0;
  28. for (i = 0; i < n; i++) {
  29. while (a[i].first + d - 1 >= a[tp].first && tp<n)
  30. tp++;
  31. ans = max(ans, pref[tp] - pref[i]);
  32. }
  33. printf("%lld\n", ans);
  34. return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement