Pagini recente » Cod sursa (job #2190910) | Cod sursa (job #1733118) | Cod sursa (job #379467) | Cod sursa (job #44715) | Cod sursa (job #601488)
Cod sursa(job #601488)
#include <cstdio>
#include <cstring>
#define MAXN 50001
int f(int *v, int D, int N){
int r, i, sum=0;
for(i=D; i<N; i++)
sum+=v[i]*(i-D);
r=sum;
for(i=1; i<N; i++)
v[i]+=v[i-1];
for(i=1; i+D<N; 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;
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;
}