Pagini recente » Cod sursa (job #1994893) | Cod sursa (job #587930) | Cod sursa (job #2304865) | Cod sursa (job #2792564) | Cod sursa (job #1133880)
#include<stdio.h>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
#define nmax 100005
int n, dmax, l, d, a, z, i, nrz;
long long rez, unu;
pair<long long, long long> v[nmax]; //
multiset <long long> h;
void citire()
{
scanf("%ld %ld %ld",&n,&dmax,&l);
for (i=1;i<=n;i++)
{
scanf("%ld %ld",&d,&a);
z=(dmax-d)/l+1;
v[i]=make_pair(z,a);
}
}
void rezolvare()
{
for(i=1;i<=n;i++)
{
h.insert(v[i].second); rez+=v[i].second;
if (h.size()>v[i].first)
{
rez-=*h.begin();
h.erase(h.begin());
}
}
}
int main()
{
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
citire();
sort(v+1,v+1+n);
rezolvare();
printf("%lld",rez);
return 0;
}