Pagini recente » Cod sursa (job #1466207) | Cod sursa (job #1005672) | Cod sursa (job #2858539) | Cod sursa (job #1039485) | Cod sursa (job #2273672)
#include <fstream>
#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
const int MAXN = 100005;
#define st first
#define nd second
pair<int, int> oi[MAXN];
priority_queue<pair<int, int> > heap;
int main()
{
ifstream fin("lupu.in");
ofstream fout("lupu.out");
int n, x, l;
fin >> n >> x >> l;
for(int i = 1; i <= n; ++i){
fin >> oi[i].st >> oi[i].nd;
heap.push({oi[i].nd, oi[i].st});
}
sort(oi + 1, oi + n + 1);
long long tot = 0;
while(x >= 0){
while(!heap.empty() && heap.top().nd > x)
heap.pop();
tot += heap.top().st;
heap.pop();
x -= l;
}
fout << tot;
return 0;
}