Pagini recente » Cod sursa (job #2415226) | Cod sursa (job #635975) | Cod sursa (job #1554526) | Cod sursa (job #1654535) | Cod sursa (job #1985301)
#include <stdio.h>
#include <queue>
#include <algorithm>
using namespace std;
priority_queue <int, vector <int>, greater <int> > h;
struct oaie {int dist, lana;};
bool cmp(oaie a, oaie b)
{
return a.dist>b.dist;
}
oaie v[100010];
int n, x, l, nr;
long long s;
int main()
{
freopen("lupu.in", "r", stdin);
freopen("lupu.out", "w", stdout);
scanf("%d%d%d", &n, &x, &l);
for(int i=1; i<=n; i++)
{
scanf("%d%d", &v[i].dist, &v[i].lana);
}
sort(v+1, v+n+1, cmp);
for(int i=1; i<=n; i++)
{
if(v[i].dist+nr*l<=x)
{
h.push(v[i].lana);
nr++;
}
else
{
if(!h.empty() and v[i].lana>h.top())
{
h.pop();
h.push(v[i].lana);
}
}
}
for(int i=1; i<=nr; i++)
{
s=s+h.top();
h.pop();
}
printf("%lld ", s);
return 0;
}