Pagini recente » Cod sursa (job #3339155) | Cod sursa (job #3335503) | Cod sursa (job #3336098) | Cod sursa (job #3329622) | Cod sursa (job #3329073)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
int n,x,l;
bool cmp(pair<int,int>a,pair<int,int>b){
if(a.first<b.first) return false;
return true;
}
int main(){
ios::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin>>n>>x>>l;
vector<pair<int,int>>v(n);
for(int i=0;i<n;i++) fin>>v[i].first>>v[i].second;
sort(v.begin(),v.end(),cmp);
long long int rez=0,t=0;
priority_queue<int,vector<int>,greater<int>>pq;
for(int i=0;i<n;i++){
if(v[i].first+t*l<=x){
pq.push(v[i].second);
rez+=v[i].second;
t++;
}else{
if(!pq.empty()){
if(v[i].second>pq.top()){
rez+=v[i].second-pq.top();
pq.pop();
pq.push(v[i].second);
}
}
}
}
fout<<rez;
return 0;
}