Pagini recente » Cod sursa (job #15259) | Rating Samachis Andrei (6ix9ineFree) | Cod sursa (job #2722134) | Cod sursa (job #1305816) | Cod sursa (job #3151546)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct oaie{
int r,l;
}v[100005];
priority_queue <int> pq;
bool comp(oaie a, oaie b){
if(a.r == b.r) return a.l < b.l;
return a.r < b.r;
}
int main()
{
int n,i,j,x,l,d;
long long s = 0;
fin >> n >> x >> l;
for(i = 1; i <= n; i++){
fin >> d >> v[i].l;
v[i].r = (x - d) / l + 1;
}
sort(v + 1, v + n + 1, comp);
i = n;
for(j = x / l + 1; j >= 1; j--){
while(v[i].r >= j && i >= 1){
pq.push(v[i].l);
i--;
}
if(!pq.empty()){
s += pq.top();
pq.pop();
}
}
fout << s;
return 0;
}