Pagini recente » Cod sursa (job #949953) | Cod sursa (job #2393342) | Cod sursa (job #208465) | Cod sursa (job #434709) | Cod sursa (job #3345335)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct oaie{
int etapa, lana;
};
int dp[100002];
oaie oi[100002];
int n, distmax, l;
long long ans=0;
int main(){
int i, x, y;
fin >> n >> distmax >> l;
for(i=1;i<=n;i++){
fin >> x >> y;
oi[i].etapa = (distmax - x) / l + 1;
oi[i].lana = y;
}
priority_queue<int> pq;
for(i=1;i<=n;i++){
if(oi[i].etapa > n)
pq.push(oi[i].lana);
else
dp[oi[i].etapa] = max(dp[oi[i].etapa], oi[i].lana);
}
for(i=n;i>0;i--){
pq.push(dp[i]);
ans += pq.top();
pq.pop();
}
fout << ans;
//for(i=1;i<=n;i++)
// fout << oi[i].etapa << endl;
}