Pagini recente » Cod sursa (job #2192407) | Cod sursa (job #2782423) | Cod sursa (job #998590) | Cod sursa (job #666334) | Cod sursa (job #2500410)
#include <bits/stdc++.h>
using namespace std;
struct boi
{
long long poz,cost;
}v[100005];
bool mycmp(boi x,boi y)
{
return x.poz>y.poz;
}
priority_queue<long long>pq;
int main()
{
ifstream cin("lupu.in");
ofstream cout("lupu.out");
long long n,x,l,a,b,nr=0;
cin>>n>>x>>l;
for(long long i=1;i<=n;i++)
{
cin>>a>>b;
if(a<=x)
{
v[++nr].poz=((x-a)/l+1);
v[nr].cost=b;
}
}
sort(v+1,v+nr+1,mycmp);
long long pas=1,ans=0;
while(pas<=nr)
{
long long temp=v[pas].cost;
pq.push(temp);
while(v[pas].poz==v[pas+1].poz)
{
pq.push(v[pas+1].cost);
pas++;
}
pas++;
for(long long j=1;j<=v[pas-1].poz-v[pas].poz;j++)
{
if(!pq.empty())
{
ans+=pq.top();
pq.pop();
}
}
}
cout<<ans;
return 0;
}