Pagini recente » Cod sursa (job #2473325) | Cod sursa (job #2817545) | Cod sursa (job #1783432) | Cod sursa (job #785344) | Cod sursa (job #2034236)
# include <fstream>
# include <set>
# include <algorithm>
# define DIM 100010
# define f first
# define s second
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
multiset<int> myset;
multiset<int>::iterator it;
pair<int,int> v[DIM];
int n,x,l,i,pas,nr;
long long s;
int main () {
fin>>n>>x>>l;
for(i=1;i<=n;i++){
fin>>v[i].f>>v[i].s;
v[i].s=-v[i].s;
v[i].f=max(-1,(x-v[i].f)/l)+1;
}
sort(v+1,v+n+1);
for(i=1;i<=n;){
pas=v[i].f;
while(v[i].f==pas&&i<=n){
myset.insert(-v[i].s);
nr++;
i++;
}
while(nr>pas){
it=myset.begin();
myset.erase(it);
nr--;
}
}
for(it=myset.begin();it!=myset.end();it++)
s+=(*it);
fout<<s<<"\n";
return 0;
}