Pagini recente » Cod sursa (job #1450057) | Cod sursa (job #273713) | Cod sursa (job #2736756) | Cod sursa (job #2957034) | Cod sursa (job #2724332)
#include <bits/stdc++.h>
using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
const int max_n = (int)1e5 + 5;
int n, x, l;
int d[max_n], c[max_n];
vector<int> v[max_n];
int main() {
in >> n >> x >> l;
for (int i = 1; i <= n; ++i) {
in >> d[i] >> c[i];
if (d[i] <= x) {
int pos = (x - d[i]) / l;
v[pos].push_back(i);
}
}
priority_queue<int> pq;
int ans = 0;
for (int i = max_n - 5; i >= 0; --i) {
for (int j : v[i]) {
pq.push(c[j]);
}
if ((int)pq.size() > 0) {
ans += pq.top();
pq.pop();
}
}
out << ans << "\n";
return 0;
}