Pagini recente » Cod sursa (job #2131833) | Cod sursa (job #55161) | Cod sursa (job #2873373) | Cod sursa (job #1876975) | Cod sursa (job #3174369)
#include <fstream>
#include <queue>
#define fi first
#define sc second
#define int long long
using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
const int inf = 1 << 61;
int n, x, l;
long long ans;
priority_queue<pair<int, int>> que;
int32_t main()
{
in >> n >> x >> l;
for(int i=1; i<=n; i++) {
int d, a;
in >> d >> a;
int reps;
if(l) {
if(x - d >= 0)
reps = (x - d) / l + 1;
else reps = -inf;
}
else reps = inf;
que.push({-reps, a});
}
int timer = 0;
while(!que.empty()) {
if(timer < -que.top().fi) {
//out << que.top().fi << ' ' << que.top().sc << '\n';
ans += 1LL * que.top().sc;
timer++;
}
que.pop();
}
out << ans;
return 0;
}