Pagini recente » Cod sursa (job #573912) | Cod sursa (job #3242123) | Cod sursa (job #1900088) | Cod sursa (job #2274509) | Cod sursa (job #1405614)
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
#define DIM 100011
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
int n,X,L,sol;
vector<pair<int,int> > v;
priority_queue<int,vector<int> > h;
int main(void){
register int i,j,x,y,t=0;
f>>n>>X>>L;
v.push_back(make_pair(0,0));
for(i=1;i<=n;i++){
f>>x>>y;
if(x>X)
continue;
v.push_back(make_pair((X-x)/L+1,y));
t=max(t,v[i].first);
}
sort(v.begin(),v.end());
i=n;
for(;t;t--){
while(i && v[i].first>=t)
h.push(v[i].second),i--;
sol+=h.top();
while(!h.empty())
h.pop();
}
g<<sol;
f.close();
g.close();
return 0;
}