Pagini recente » Cod sursa (job #1437087) | Cod sursa (job #2055224) | Cod sursa (job #1284073) | Cod sursa (job #867970) | Cod sursa (job #1253945)
#include<stdio.h>
#include<queue>
#include<algorithm>
using namespace std;
typedef priority_queue<int> heap;
heap h;
struct alabama
{
int t,val;
};
alabama v[100003];
bool sortare(alabama e1, alabama e2)
{
return e1.t>e2.t;
}
int d,i,n,x,l,smax,a;
int main()
{
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
scanf("%d%d%d",&n,&x,&l);
for(i=1;i<=n;i++)
{
scanf("%d%d",&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();
// printf("%d ",h.top());
h.pop();
h.push(v[i].val);
}
}
printf("%d",smax);
return 0;
}