Pagini recente » Cod sursa (job #3249348) | Cod sursa (job #2958619) | Cod sursa (job #3005264) | Cod sursa (job #2708633) | Cod sursa (job #3168222)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("lupu.in");
ofstream out("lupu.out");
#define maxN 100000
struct ura{
int wool,time;
bool operator<(const ura &x) {
return time<x.time;
}
}v[maxN+1];
priority_queue<int> q;
int main(){
int n,x,l;
in>>n>>x>>l;
for(int i=1;i<=n;i++){
int d;
in>>d>>v[i].wool;
v[i].time=(x-d)/l;
}
sort(v+1,v+n+1);
int p=n,t=v[n].time;
long long sol=0;
while(t>=0){
while(p>=0 && v[p].time>=t){
q.push(v[p].wool);
p--;
}
if(!q.empty()){
sol+=q.top();
q.pop();
}
t--;
}
out<<sol;
return 0;
}