Pagini recente » Cod sursa (job #198722) | Cod sursa (job #625205) | Cod sursa (job #2689139) | Cod sursa (job #1540027) | Cod sursa (job #2515109)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
int n, x, k, i, sol, d, a, Max, turn;
vector <int> L[100001];
priority_queue <int> q;
ifstream fin ("lupu.in");
ofstream fout ("lupu.out");
int main () {
fin>>n>>x>>k;
for (i=1;i<=n;i++) {
fin>>d>>a;
if (d<=x) {
L[(x-d)/k+1].push_back(a);
Max=max(Max,(x-d)/k+1);
}
}
for (turn=Max;turn>=1;turn--) {
for (i=0;i<L[turn].size();i++) {
q.push(L[turn][i]);
}
sol+=q.top();
q.pop();
}
fout<<sol;
return 0;
}