Pagini recente » Cod sursa (job #1798137) | Cod sursa (job #1556380) | Cod sursa (job #2367413) | Cod sursa (job #2357696) | Cod sursa (job #642496)
Cod sursa(job #642496)
#include <stdio.h>
#include <string.h>
#define NMAX 50000
const int INF = 0x3f3f3f3f;
int a[NMAX + 50], b[NMAX + 50];
int solve(int *v, int d, int n)
{
int i, sum = 0;
for (i = d; i <= NMAX; ++i)
sum += (i - d) * v[i];
int min = sum;
for (i = 1; i <= NMAX; ++i)
v[i] += v[i - 1];
for (i = 1; i + d <= NMAX; ++i) {
sum += v[i - 1];
sum -= n - v[i + d - 1];
if (sum < min)
min = sum;
}
return min;
}
int main()
{
freopen("tribute.in", "r", stdin);
freopen("tribute.out", "w", stdout);
int n, dx, dy, i, x, y;
scanf("%d %d %d", &n, &dx, &dy);
for (i = 0; i < n; ++i) {
scanf("%d %d", &x, &y);
++a[x];
++b[y];
}
printf("%d\n", solve(a, dx, n) + solve(b, dy, n));
return 0;
}