Pagini recente » Cod sursa (job #1520663) | Cod sursa (job #571736) | Cod sursa (job #173224) | Cod sursa (job #1186869) | Cod sursa (job #1888375)
#include <bits/stdc++.h>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
#define NMAX 100000
struct Oaie{
long long dist, lana;
};
long long n, D, L, mx, cost;
Oaie v[NMAX];
priority_queue <int> oi;
int compare(Oaie x, Oaie y) {
return x.dist > y.dist;
}
int main()
{
int i;
f>>n>>D>>L;
for(i = 1; i <= n; i++) {
f>>v[i].dist>>v[i].lana;
v[i].dist = (D - v[i].dist) / L + 1;
mx = max(mx, v[i].dist);
}
sort(v + 1, v + n + 1, compare);
i = 1;
while(mx > 0) {
while(v[i].dist == mx) {
oi.push(v[i].lana);
i++;
}
if(!oi.empty()) {
cost += oi.top();
oi.pop();
}
mx--;
}
g<<cost<<'\n';
return 0;
}