Pagini recente » Cod sursa (job #2982111) | Cod sursa (job #1837501) | Cod sursa (job #2251835) | Cod sursa (job #418894) | Cod sursa (job #464140)
Cod sursa(job #464140)
#include<fstream>
#include<algorithm>
#include<queue>
using namespace std;
long long n,x,l;
struct nod{
int dist;
int lana;};
nod v[1000002];
long long maxim,val,sol;
priority_queue<long long> h;
int cmp(nod a,nod b);
int main()
{
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
scanf("%lld %lld %lld",&n,&x,&l);
int i;
for(i=1; i<=n; i++)
scanf("%lld %lld",&v[i].dist,&v[i].lana);
int pp=0;
sort(v+1,v+n+1,cmp);
int val;
for(val=0,i=1;val<=x;val+=l)
{
for(i=i;i<=n &&v[i].dist<=val;i++)
h.push(v[i].lana);
if(h.size())
{
sol+=h.top();
h.pop();
}
}
printf("%lld\n",sol);
return 0;
}
int cmp(nod a,nod b)
{
if(a.dist>b.dist)
return 0;
return 1;
}