Pagini recente » Cod sursa (job #649451) | Cod sursa (job #3264153) | Cod sursa (job #565060) | Cod sursa (job #1740523) | Cod sursa (job #601495)
Cod sursa(job #601495)
#include <cstdio>
#include <cstring>
#define MAXN 50005
int f(int *v, int D, int N){
int r, i, sum=0;
for(i=D; i<MAXN; i++)
sum+=v[i]*(i-D);
r=sum;
for(i=1; i<MAXN; i++)
v[i]+=v[i-1];
for(i=1; i+D<MAXN; i++){
sum+=v[i-1];
sum-=N-v[i+D-1];
if(sum < r)
r=sum;
}
return r;
}
int main(){
freopen("tribute.in", "r", stdin);
freopen("tribute.out", "w", stdout);
int N, X[MAXN+5], Y[MAXN+5], i, a, b, dx, dy;
memset(X, 0, sizeof(X));
memset(Y, 0, sizeof(Y));
scanf("%d%d%d", &N, &dx, &dy);
for(i=1; i<=N; i++){
scanf("%d%d", &a, &b);
X[a]++;
Y[b]++;
}
printf("%d\n", f(X, dx, N)+f(Y, dy, N));
return 0;
}