Pagini recente » Cod sursa (job #545248) | Cod sursa (job #512283) | Cod sursa (job #164176) | Cod sursa (job #2451999) | Cod sursa (job #982399)
Cod sursa(job #982399)
#include <algorithm>
#include <fstream>
#include <vector>
#include <queue>
#define Max(a,b) (a>b?a:b)
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
int n,X,L,t=0,sol,a[10];
vector<pair<int,int> > v;
priority_queue<int,vector<int> > h;
int main(void){
register int i,j,x,y;
f>>n>>X>>L;
for(i=0;i<n;i++){
f>>x>>y;
v.push_back(make_pair((X-x)/L+1,y));
t=Max(t,v[i].first);
}
sort(v.begin(),v.end());
i=n-1;
for(;t>0;t--){
while(v[i].first>=t && i>-1){
h.push(v[i].second);
i--;
}
sol+=h.top();
h.pop();
}
g<<sol;
f.close();
g.close();
return 0;
}