Pagini recente » Cod sursa (job #286594) | Cod sursa (job #2384592) | Cod sursa (job #860838) | Cod sursa (job #1130351) | Cod sursa (job #1253946)
#include<stdio.h>
#include<queue>
#include<algorithm>
using namespace std;
typedef priority_queue<long long> heap;
heap h;
struct alabama
{
long long t,val;
};
alabama v[100003];
bool sortare(alabama e1, alabama e2)
{
return e1.t>e2.t;
}
long long d,i,n,x,l,smax,a;
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("%lld%lld",&d,&a);
d=x-d;
d=d/l+1;
v[i].t=d;
v[i].val=a;
}
sort(v+1,v+1+n,sortare);
h.push(v[1].val);
v[n+1].t=-1;
for(i=2;i<=n+1;i++)
{
if(v[i].t==v[i-1].t)
h.push(v[i].val);
else
{
smax+=h.top();
// prlong longf("%lld ",h.top());
h.pop();
h.push(v[i].val);
}
}
printf("%lld",smax);
return 0;
}