Pagini recente » Cod sursa (job #386428) | Cod sursa (job #1058612) | Cod sursa (job #2820098) | Cod sursa (job #1768866) | Cod sursa (job #1017726)
#include <cstdio>
#include <cstdlib>
#define fr(i, a, b) for(int i=a; i<b; ++i)
#define INF INT_MAX;
int n, dx, dy;
int x[500000];
int y[500000];
int minx = 0, miny = 0;
int maxx = 50000, maxy = 50000;
int ddx, ddy, hatar;
int main()
{
freopen("tribute.in", "r", stdin);
freopen("tribute.out", "w", stdout);
scanf("%d%d%d", &n, &dx, &dy);
fr(i, 0, n) { scanf("%d%d", &x[i], &y[i]); if (x[i]<minx) minx = x[i]; if (x[i]>maxx) maxx = x[i]; if (y[i]<miny) minx = y[i]; if (y[i]>maxy) maxx = y[i]; }
ddx = maxx-minx;
ddy = maxy-miny;
hatar = ddx-dx+1;
minx = INF;
fr(i, 0, hatar)
{
maxx = 0;
fr(j, 0, n)
{
if (x[j]<i) maxx += i-x[j];
else if (x[j]>i+dx) maxx += x[j]-dx-i;
}
if (maxx < minx) minx = maxx;
}
hatar = ddy-dy+1;
miny = INF;
fr(i, 0, hatar)
{
maxy = 0;
fr(j, 0, n)
{
if (y[j]<i) maxy += i-y[j];
else if (y[j]>i+dy) maxy += y[j]-dy-i;
}
if (maxy < miny) miny = maxy;
}
printf("%d", minx+miny);
return 0;
}