Pagini recente » Cod sursa (job #2855577) | Cod sursa (job #741825) | Cod sursa (job #2454722) | Cod sursa (job #2811742) | Cod sursa (job #701901)
Cod sursa(job #701901)
#include<stdio.h>
long int n,dx,dy,i,ax,ay,cx[50001],cy[50001],cont,dl[50001],dr[50001],solp,solx,soly,sol;
int main()
{
freopen("tribute.in","r",stdin);
freopen("tribute.out","w",stdout);
scanf("%ld%ld%ld",&n,&dx,&dy);
for(i=1;i<=n;i++)
{
scanf("%ld%ld",&ax,&ay);
cx[ax]++;cy[ay]++;
}
cont=0;
for(i=1;i<=50000;i++)
{ cont+=cx[i-1];
dl[i]=dl[i-1]+cont;
}
cont=0;
for(i=49999;i>=0;i--)
{ cont+=cx[i+1];
dr[i]=dr[i+1]+cont;
}
solx=2000000000;
for(i=0;i<=50000-dx;i++)
{ solp=dl[i]+dr[i+dx];
solx=(solx<solp)?solx:solp;
}
cont=0;
for(i=1;i<=50000;i++)
{ cont+=cy[i-1];
dl[i]=dl[i-1]+cont;
}
cont=0;
for(i=49999;i>=0;i--)
{ cont+=cy[i+1];
dr[i]=dr[i+1]+cont;
}
soly=2000000000;
for(i=0;i<=50000-dy;i++)
{ solp=dl[i]+dr[i+dy];
soly=(soly<solp)?soly:solp;
}
sol=solx+soly;
printf("%ld\n",sol);
return 0;
}