Pagini recente » Cod sursa (job #1793965) | Cod sursa (job #2570469) | Cod sursa (job #125557) | Cod sursa (job #1483940) | Cod sursa (job #1101040)
#include <cstdio>
#include <algorithm>
#define MAX 50000
using namespace std;
int X[MAX+5],Y[MAX+5];
inline int Best(int X[], int l)
{
int i,nrst[MAX+5],nrdr[MAX+5],cst[MAX+5],cdr[MAX+5],minim=2000000000,st,dr;
nrst[0]=X[0]; cst[0]=0;
for(i=1;i<=MAX;++i)
{
cst[i]=cst[i-1]+nrst[i-1];
nrst[i]=nrst[i-1]+X[i];
}
nrdr[MAX+1]=cdr[MAX+1]=0;
for(i=MAX;i>=0;--i)
{
cdr[i]=cdr[i+1]+nrdr[i+1];
nrdr[i]=nrdr[i+1]+X[i];
}
for(st=0,dr=l;dr<=MAX;++st,++dr)
minim=min(minim, cst[st]+cdr[dr]);
return minim;
}
int main()
{
int i,N,Dx,Dy,x,y;
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,&y);
++X[x]; ++Y[y];
}
printf("%d\n", Best(X,Dx)+Best(Y,Dy));
return 0;
}