Pagini recente » Cod sursa (job #2552444) | Cod sursa (job #1242655) | Cod sursa (job #662675) | Cod sursa (job #1490945) | Cod sursa (job #1253956)
#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,k;
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);
i=1;
k=v[1].t;
while(k!=0&&i<=n)
{
while(i<=n&&v[i].t==k){
h.push(v[i].val);
i++;
}
if(h.empty()!=true)
{
smax+=h.top();
h.pop();
}
k--;
}
printf("%lld",smax);
return 0;
}