Pagini recente » Cod sursa (job #168734) | Cod sursa (job #2749971) | Cod sursa (job #804471) | Cod sursa (job #1695768) | Cod sursa (job #1371196)
#include <cstdio>
using namespace std;
int n,x,dx,dy,v[50006],st[50004],stt[50005],dr[50006],drr[50007],i,j,X[50006],Y[50005];
int sol(int a[],int d)
{
int i,nr=0,minn=20000000;
for(i=0;i<=50000;++i) v[i]=0;
for(i=1;i<=n;++i) v[a[i]]++;
st[0]=stt[0]=0;
dr[50000]=drr[50000]=0;
// st[0]=v[0];
for(i=1;i<=50000;++i)
st[i]=st[i-1]+v[i-1];
for(i=50000;i>=0;--i)
dr[i]=dr[i+1]+v[i+1];
// stt[0]=st[0];
// for(i=1;i<=50000;++i)
// stt[i]=1LL*stt[i-1]+st[i];
for(i=50000;i>=0;--i)
drr[i]=drr[i+1]+dr[i];
int k=0;
for(i=0;i<=50000-d;++i)
{
k+=st[i];
nr=k+drr[i+d];
if(nr<minn) minn=nr;
}
return minn;
}
int main()
{
freopen("tribute.in","r",stdin);
freopen("tribute.out","w",stdout);
scanf("%d%d%d",&n,&dx,&dy);
for(i=1;i<=n;++i)
scanf("%d%d",&X[i],&Y[i]);
printf("%d\n",sol(X,dx)+sol(Y,dy));
return 0;
}