Pagini recente » Cod sursa (job #2155028) | Cod sursa (job #1264719) | Cod sursa (job #730294) | Cod sursa (job #336381) | Cod sursa (job #1781306)
#include <cstdio>
#define NMax 50000
#define ll long long
#define ABS(x)((x)>0?(x):(-(x)))
#define MIN(a,b)((a)<(b)?(a):(b))
int x[3][NMax+1];
int N;
ll cost(int v, int c, int l)
{
int i,t;
ll ans = ABS(x[l][c]-v);
for(t = v-1, i = c-1; i >= 1; --i,--t) ans += ABS(x[l][i]-t);
for(t = v+1, i = c+1; i <= N; ++i,++t) ans += ABS(x[l][i]-t);
return ans;
}
ll get_min(int l)
{
int i;
ll ans,sum = 0;
for(i = 1; i <= N; ++i) sum += x[l][i];
sum = sum/N;
ans = cost(sum,N/2,l);
ans = MIN( ans, cost(sum,N/2+1,l) );
--sum;
ans = MIN( ans, cost(sum,N/2,l) );
ans = MIN( ans, cost(sum,N/2+1,l) );
sum += 2;
ans = MIN( ans, cost(sum,N/2,l) );
ans = MIN( ans, cost(sum,N/2+1,l) );
return ans;
}
int main(){
freopen("inundatii.in","r",stdin);
freopen("inundatii.out","w",stdout);
int i,j;
scanf("%d",&N);
for(i = 1; i <= N; ++i)
for(j = 0; j < 3; ++j) scanf("%d",&x[j][i]);
printf("%lld\n", get_min(0) + get_min(1) + get_min(2) );
return 0;
}