Pagini recente » Cod sursa (job #647479) | Cod sursa (job #817597) | Cod sursa (job #989297) | Cod sursa (job #3200016) | Cod sursa (job #710535)
Cod sursa(job #710535)
#include<cstdio>
#include<cstdlib>
using namespace std;
typedef int (*compfn)(const void *, const void*);
struct ceva
{
int d,l;
};
ceva a[100005];
int compare (struct ceva *x,struct ceva *y)
{
if (x->l < y->l)
return 1;
if (x->l==y->l && x->d < y->d)
return 1;
if (x->l==y->l && x->d > y->d)
return -1;
if (x->l > y->l)
return -1;
return 0;
}
int main ()
{
int n,x,ll,i,crt;
long long sum=0,lplus=0;
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
scanf("%d%d%d",&n,&x,&ll);
for (i=1; i<=n; i++)
scanf("%d%d",&a[i].d,&a[i].l);
qsort(a+1,n,sizeof(ceva),(compfn)compare);
crt=1;
while (crt<=n)
{
if (a[crt].d+lplus<=x)
{
sum+=a[crt].l;
lplus+=ll;
}
crt++;
}
printf("%lld",sum);
return 0;
}