Pagini recente » Cod sursa (job #2468687) | Cod sursa (job #2750338) | Cod sursa (job #2232650) | Cod sursa (job #231162) | Cod sursa (job #3235222)
///#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream cin("lupu.in");
ofstream cout("lupu.out");
int n,m,x,d,t,l;
long long s;
struct ve{
int et,ln;
}v[100001];
priority_queue<int>q;
bool cmp( ve a, ve b){
return a.et > b.et;
}
int main()
{
cin>>n>>x>>d;
for(int i=1;i<=n;i++){
cin>>t>>l;
if(t>x)
continue;
v[++m]={(x-t)/d,l};
}
sort(v+1,v+m+1,cmp);
int p=1;
for(int i=v[1].et;i>=0;i--){
while(p<=m&&v[p].et==i){
q.push(v[p].ln);
p++;
}
if(!q.empty()){
s+=q.top();
q.pop();
}
}
cout<<s;
return 0;
}