Pagini recente » Cod sursa (job #2087370) | Cod sursa (job #708157) | Cod sursa (job #122630) | Cod sursa (job #1525151) | Cod sursa (job #1067590)
#include <cstdio>
#include <algorithm>
using namespace std;
int X[2][50100];
int DX, DY;
int solve(int k, int D) {
int now = 0;
int la = 0, lb = 0;
int a = 0, b = D - 1;
for (int i = D; i <= 50000; ++i) now += X[k][i] * (i - b), lb += X[k][i];
int best = now;
while (b <= 50000) {
now = now + la - lb + X[k][a];
la += X[k][a]; lb -= X[k][b+1];
++a; ++b;
if (now < best) best = now;
}
return best;
}
int main() {
freopen("tribute.in", "r", stdin);
freopen("tribute.out", "w", stdout);
int N; scanf("%d %d %d", &N, &DX, &DY);
for (int i = 0; i < N; ++i) { int a, b; scanf("%d %d", &a, &b); X[0][a]++; X[1][b]++; }
printf("%d\n", solve(0, DX + 1) + solve(1, DY + 1));
return 0;
}