Pagini recente » Cod sursa (job #800300) | Cod sursa (job #2309537) | Cod sursa (job #1140622) | Cod sursa (job #280784) | Cod sursa (job #3238665)
#include <bits/stdc++.h>
using namespace std;
const int MAX = 3 * 1e5;
int N, X, L;
pair<int, int>A[MAX + 3];
int main() {
freopen("lupu.in", "r", stdin);
freopen("lupu.out", "w", stdout);
cin >> N >> X >> L;
for(int i = 1; i <= N; i++) {
cin >> A[i].first >> A[i].second;
}
sort(A + 1, A + N + 1);
int i = N;
while(A[i].first > X && i != 0) i--;
long long ans = 0;
for(; i >= 1;) {
priority_queue<int>pq;
while(i >= 1 && A[i].first > X - L) {
pq.push(A[i].second);
i--;
}
if(!pq.empty())
{
ans += pq.top();
X -= L;
}
}
cout << ans;
}