Pagini recente » Cod sursa (job #54887) | Cod sursa (job #1800618) | Cod sursa (job #1533009) | Cod sursa (job #1576782) | Cod sursa (job #1491049)
#include <fstream>
using namespace std;
const int kMaxC = 50001;
ifstream fin("tribute.in");
ofstream fout("tribute.out");
int N, DX, DY;
int cntx[kMaxC], cnty[kMaxC];
int64_t Solve(int d, int *cnt) {
int l = 0, r = 0;
int64_t s = 0, ans = 6e9;
for (int i = kMaxC - 1; i >= d; --i) {
r += cnt[i];
s += r;
}
for (int i = 0; i < kMaxC - d; ++i) {
s -= r;
r -= cnt[i + d];
ans = min(ans, s);
l += cnt[i];
s += l;
}
return ans;
}
int main() {
fin >> N >> DX >> DY;
for (int i = 0; i < N; ++i) {
int x, y;
fin >> x >> y;
++cntx[x];
++cnty[y];
}
fout << Solve(DX, cntx) + Solve(DY, cnty) << "\n";
return 0;
}