Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- long long n, m, d, i, ans;
- pair<long long, long long> a[100005];
- int main() {
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin);
- #else
- #endif
- scanf("%lld %lld", &n, &d);
- for (i = 0; i < n; i++) {
- long long k, x;
- scanf("%lld %lld", &k, &x);
- a[i] = make_pair(k, x);
- }
- ans = LLONG_MIN;
- sort(a, a + n);
- vector <long long> pref(n+1);
- long long sum = 0;
- for (i = 0; i <= n; i++) {
- pref[i] = sum;
- sum += a[i].second;
- }
- long long bb = 0, tp = 0;
- for (i = 0; i < n; i++) {
- while (a[i].first + d - 1 >= a[tp].first && tp<n)
- tp++;
- ans = max(ans, pref[tp] - pref[i]);
- }
- printf("%lld\n", ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement