Pagini recente » Cod sursa (job #2251745) | Cod sursa (job #1924865) | Cod sursa (job #2751362) | Cod sursa (job #115991) | Cod sursa (job #981294)
Cod sursa(job #981294)
#include <fstream>
#include <queue>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
int n,X,L,t,maxim=0;
long long sol;
priority_queue<pair<int,int>,vector<pair<int,int> > > h;
int main(void){
register int i,j,d,a;
pair<int,int> p;
f>>n>>X>>L;
for(i=1;i<=n;i++){
f>>d>>a;
if(d>X)
continue;
h.push(make_pair(a,(X-d)/L+1));
maxim=((X-d)/L+1>maxim?(X-d)/L+1:maxim);
}
for(t=1;t<=maxim && !h.empty();t++){
p=h.top();
while(p.second<t){
h.pop();
p=h.top();
}
sol+=p.first;
h.pop();
}
g<<sol;
return 0;
}