Pagini recente » Cod sursa (job #406119) | Cod sursa (job #124777) | Cod sursa (job #302651) | Cod sursa (job #2736223) | Cod sursa (job #3267566)
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
priority_queue<pair<int, int>> PQ;
int main() {
int n, x, l;
fin >> n >> x >> l;
int maxim = 0;
for (int i = 1; i <= n; ++i) {
int d, a;
fin >> d >> a;
if (d <= x) {
int ind = (x - d) / l + 1;
PQ.push({ind, a});
maxim = max(maxim, ind);
}
}
int cnt = 0;
long long sum = 0;
while (PQ.size() && cnt <= maxim) {
if (PQ.top().first <= maxim - cnt + 1) {
sum += PQ.top().second;
PQ.pop();
}
cnt++;
}
fout << sum;
return 0;
}