Pagini recente » Cod sursa (job #3327573) | Cod sursa (job #3345510) | Cod sursa (job #3350156) | Cod sursa (job #67483) | Cod sursa (job #3345345)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct oaie{
int etapa, lana;
};
bool comp(oaie a, oaie b){
return a.etapa > b.etapa;
}
oaie oi[100002];
int n, distmax, l;
long long ans=0;
priority_queue<int> pq;
int main(){
int i, x, y, lg=1;
fin >> n >> distmax >> l;
for(i=1;i<=n;i++){
fin >> x >> y;
oi[i].etapa = (distmax - x) / l + 1;
oi[i].lana = y;
}
sort(oi+1, oi+n+1, comp);
for(i=n;i>0;i--){
while(oi[lg].etapa >= i){
pq.push(oi[lg].lana);
lg++;
}
if(!pq.empty()){
ans += pq.top();
pq.pop();
}
}
fout << ans;
}