Pagini recente » Cod sursa (job #2000484) | Cod sursa (job #2751629) | Cod sursa (job #3036853) | Cod sursa (job #1160246) | Cod sursa (job #2040368)
#include <fstream>
#include <algorithm>
#include <set>
using namespace std;
ifstream fin ("lupu.in");
ofstream fout ("lupu.out");
int n,i,L,X,dist,lana,sum,dit,lit,nr;
pair <int,int> v[100001];
multiset <pair<int,int> > s;
int main(){
fin>>n>>X>>L;
for(i=1;i<=n;i++)
fin>>v[i].first>>v[i].second;
sort(v+1,v+n+1);
for(i=1;i<=n;i++){
s.insert(v[i]);
}
for(multiset <pair<int,int> > :: reverse_iterator it = s.rbegin();it != s.rend();it++){
dist=it->first;
dist+=L*nr;
lana=it->second;
if(dist<=X){
++nr;
sum+=lana;
fout<<lana<<" "<<dist<<"\n";
}
else
++it;
}
if(dist<X)
sum+=lana;
fout<<sum;
return 0;
}