Pagini recente » Cod sursa (job #1719574) | Monitorul de evaluare | Cod sursa (job #1718991) | Cod sursa (job #2029359) | Cod sursa (job #542833)
Cod sursa(job #542833)
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
struct nod{int d,c;} a[100005];
priority_queue <int> h;
long long sol,n,x,l,dist,i;
inline bool cmp (const nod &a,const nod &b)
{if(a.d<b.d) return 1; return 0;}
int main ()
{
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
scanf("%lld %lld %lld",&n,&x,&l);
for(i=1;i<=n;i++)
scanf("%d %d",&a[i].d,&a[i].c);
sort(a+1,a+n+1,cmp);
for(dist=0,i=1;dist<=x&&i<=n;dist+=l)
{
for(;i<=n&&a[i].d<=dist;i++)
h.push(a[i].c);
if(h.size())
{sol+=h.top();
h.pop();}
}
printf("%lld",sol);
return 0;}