Pagini recente » Cod sursa (job #2309257) | Cod sursa (job #1247586) | Cod sursa (job #2853942) | Cod sursa (job #2909935) | Cod sursa (job #1258530)
#include<iostream>
#include<fstream>
#include<vector>
#include<map>
#include<queue>
using namespace std;
int main(){
ifstream f("lupu.in");
ofstream g("lupu.out");
vector <int> t[100001];
vector <int> oi;
priority_queue <int> q;
int n,x,l,i=0;
f >> n >> x >> l;
int max = 0;
for (i = 0; i <n; i++){
int a, b;
f >> a >> b;
int timp = (x - a) / l;
t[timp].push_back(i);
oi.push_back(b);
if (timp>max) max = timp;
}
long long lupu = 0;
for (i = max; i >= 0; i--){
for (int j = 0; j < t[i].size(); j++)
q.push(oi[t[i][j]]);
lupu += q.top();
q.pop();
}
g << lupu;
g.close();
f.close();
//cin.get();
return 0;
}