Cod sursa(job #633036)
#include<cstdio>
#include<algorithm>
using namespace std;
#define N 50002
long x[N],y[N],n,dx,dy,i;
int c(long a,long b)
{return a<b;}
long h(long x[N],long dx)
{long i,m=N,s[N],z[N],p[N],r[N];
sort(x+1,x+n+1,c);
for(i=x[1];i<=x[n];i++)
s[i]=z[i]=p[i]=r[i]=0;
for(i=1;i<=n;i++)
z[x[i]]++,s[x[i]]++;
z[x[1]-1]=p[x[1]-1]=s[x[n]-x[1]+2]=r[x[1]-1]=0;
for(i=x[1];i<=x[n]-dx;i++)
{z[i-1]+=z[i-2],p[i]=p[i-1]+z[i-1];
s[x[n]-i+1]+=s[x[n]-i+2];
r[i]=r[i-1]+s[x[n]-i+1];}
for(i=x[1];i<=x[n]-dx;i++)
m=min(m,p[i]+r[x[n]-dx-i]);
return m;}
int main()
{FILE *f=fopen("tribute.in","r"),*g=fopen("tribute.out","w");
fscanf(f,"%ld%ld%ld",&n,&dx,&dy);
for(i=1;i<=n;i++)
fscanf(f,"%ld%ld",&x[i],&y[i]);
fprintf(g,"%ld",h(x,dx)+h(y,dy));
return 0;}