Pagini recente » Cod sursa (job #397731) | Cod sursa (job #105094) | Cod sursa (job #2138812) | Cod sursa (job #652543) | Cod sursa (job #2046385)
#include <bits/stdc++.h>
using namespace std;
vector <pair <int, int>> v;
priority_queue <int> pq;
int main()
{
int n, x, l;
ifstream fin("lupu.in");
fin >> n >> x >> l;
for (int i = 0; i < n; ++i) {
int d, a;
fin >> d >> a;
if (d <= x)
v.push_back({(x - d) / l, a});
}
fin.close();
sort(v.rbegin(), v.rend());
long long ans = 0LL;
int ind = 0;
for (int i = n; i >= 0; --i) {
while (ind < n && v[ind].first == i)
pq.push(v[ind++].second);
if (pq.empty() == false) {
ans += pq.top();
pq.pop();
}
}
ofstream fout("lupu.out");
fout << ans;
fout.close();
return 0;
}