Pagini recente » Cod sursa (job #1467504) | Cod sursa (job #3274879) | Cod sursa (job #2902591) | Cod sursa (job #1462675) | Cod sursa (job #2157640)
#include <bits/stdc++.h>
using namespace std;
const int VM = 5;//50005;
int vx[50005], vy[50005], fx[50005], fy[50005], n;
int calcul(int v[], int nr[], int d) {
sort(v + 1, v + n + 1);
int dist = 0, distmin, nrst = 0, nrdr = 0;
for (int i = 1; i <= n; i++) {
nr[v[i]]++;
if (v[i] > d) {
dist = dist + v[i] - d;
nrdr++; } }
distmin = dist;
for (int i = 1; i + d < VM; i++) {
nrst = nrst + nr[i - 1];
dist = dist + nrst - nrdr;
nrdr = nrdr - nr[i + d];
distmin = min(distmin, dist); }
return distmin; }
int main() {
freopen("tribute.in", "r", stdin);
freopen("tribute.out", "w", stdout);
int dx, dy, ans, x, y;
scanf("%d %d %d", &n, &dx, &dy);
for (int i = 1; i <= n; i++) {
scanf("%d %d", &x, &y);
vx[i] = x;
vy[i] = y; }
ans = calcul(vx, fx, dx) + calcul(vy, fy, dy);
printf("%d\n", ans);
return 0; }