Pagini recente » Cod sursa (job #3188175) | Cod sursa (job #375356) | Cod sursa (job #1415024) | Cod sursa (job #1681530) | Cod sursa (job #710533)
Cod sursa(job #710533)
#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;
}