Cod sursa(job #486819)
#include<fstream>
#include<math.h>
using namespace std;
ifstream q("tribute.in");
ofstream w("tribute.out");
int n,x, y,dx,dy,a[50015],b[50015];
int cauta(int v[], int d)
{int i,in,sf,c,m;
in=0;
sf=0;
c=0;
m=0;
for(i=d+1;i<=50005;i++)
{sf=sf+v[i];
c+=v[i]*(i-d);}
m=c;
for(i=1;i+d<=50005;i++)
{in+=v[i-1];
c+=in-sf;
sf-=v[i+d];
if(c<m)
m=c;}
return m;}
int main()
{int i;
q>>n>>dx>>dy;
for(i=1;i<=n;i++)
{q>>x>>y;
a[x]++;
b[y]++;}
int rez;
rez=cauta(a,dx);
rez+=cauta(b,dy);
w<<rez<<"\n";
return 0;}