Pagini recente » Cod sursa (job #1008505) | Cod sursa (job #3158041) | Cod sursa (job #2160679) | Cod sursa (job #2119661) | Cod sursa (job #125926)
Cod sursa(job #125926)
#include <stdio.h>
#define MAXN 50005
int N;
int X[MAXN], Y[MAXN], Z[MAXN];
inline int ABS( int x ) { return (x < 0) ? -x : x; }
inline long long solve( int x[] )
{
long long MIN, S = 0;
int curx = x[ N / 2 ] - (N / 2);
for (int k = 0; k < N; k++)
S += ABS( (curx + k) - x[k] );
MIN = S;
if (N % 2 == 0)
{
curx = x[ (N / 2) - 1 ] - (N / 2);
S = 0;
for (int k = 0; k < N; k++)
S += ABS( (curx + k) - x[k] );
if (S < MIN)
MIN = S;
}
return MIN;
}
int main()
{
freopen("inundatii.in", "rt", stdin);
freopen("inundatii.out", "wt", stdout);
scanf("%d", &N);
for (int i = 0; i < N; i++)
scanf("%d %d %d", X + i, Y + i, Z + i);
printf("%lld\n", solve(X) + solve(Y) + solve(Z));
return 0;
}