Pagini recente » Cod sursa (job #341214) | Cod sursa (job #1258368) | iconcurs20 | Cod sursa (job #1633743) | Cod sursa (job #1910031)
#include<cstdio>
using namespace std;
long long n,dx,dy,i,ax,ay,cx[50001],cy[50001],cont,dl[50001],dr[50001],solp,solx,soly,sol;
int main()
{
FILE *fin ,*fout;
fin=fopen("tribute.in","r");
fout=fopen("tribute.out","w");
fscanf(fin ,"%ld%ld%ld",&n,&dx,&dy);
for(i=1;i<=n;i++)
{
fscanf(fin ,"%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;
fprintf(fout,"%ld\n",sol);
return 0;
}