Pagini recente » Cod sursa (job #2899604) | Cod sursa (job #1389073) | Cod sursa (job #1627430) | Cod sursa (job #1190032) | Cod sursa (job #1848557)
#include <stdio.h>
#include <stdlib.h>
int lin[50001], col[50001];
int min(int a, int b){
return a>b ? b:a;
}
int func(int *v, int a, int n){
int contst=0, contdr=0, i, sum, smin;
sum=0;
for(i=50000-1;i>=a;i--){
contdr+=v[i];
sum+=contdr;
}
smin=sum;
for(i=1;i<50001;i++){
sum-=contdr;
contst+=v[i-1];
contdr-=v[i+a-1];
sum+=contst;
smin=min(smin,sum);
}
return smin;
}
int main()
{
int n, a, b, x, y, i;
FILE *fi=fopen("tribute.in", "r"), *fo=fopen("tribute.out", "w");
fscanf(fi, "%d%d%d", &n, &a, &b);
a++;
b++;
for(i=0;i<n;i++){
fscanf(fi, "%d%d", &x, &y);
lin[x]++;
col[y]++;
}
fprintf(fo, "%d", func(col,a,n)+func(lin,b,n));
fclose(fi);
fclose(fo);
return 0;
}