Pagini recente » Cod sursa (job #1393695) | Cod sursa (job #1569088) | Cod sursa (job #296746) | Cod sursa (job #1325897) | Cod sursa (job #1387923)
#include<stdio.h>
#include<algorithm>
#define N 50000
int x[N+1],y[N+1],sum[N+1];
int n;
int ans(int v[],int nr){
int i;
std::sort(v+1,v+1+n);
for(i=1;i<=n;i++)
sum[i]=sum[i-1]+v[i];
int st=0,dr=0,min=2147483647;
for(i=0;i<=v[n]+nr;i++){
while(st-1<n&&v[st]<i)
st++;
while(dr-1<n&&v[dr]<=i+nr)
dr++;
dr--,st--;
if(i*st-sum[st]+sum[n]-sum[dr]-(i+nr)*(n-dr)<min)
min=i*st-sum[st]+sum[n]-sum[dr]-(i+nr)*(n-dr);
}
return min;
}
int main(){
FILE *fin,*fout;
fin=fopen("tribute.in","r");
fout=fopen("tribute.out","w");
int x1,y1;
fscanf(fin,"%d%d%d",&n,&x1,&y1);
int i;
for(i=1;i<=n;i++)
fscanf(fin,"%d%d",&x[i],&y[i]);
fprintf(fout,"%d",ans(x,x1)+ans(y,y1));
return 0;
}