Pagini recente » Cod sursa (job #1290030) | Cod sursa (job #1276992) | Cod sursa (job #553043) | Cod sursa (job #1281748) | Cod sursa (job #128009)
Cod sursa(job #128009)
#include <cstdio>
#include <cstring>
#include <cmath>
#include <fstream>
using namespace std;
#define FIN "inundatii.in"
#define FOUT "inundatii.out"
#define MAX_N 50005
typedef struct
{
int x, y, z;
} point;
point A[MAX_N];
long long B[MAX_N];
int N, i;
long long best;
void solve ( void )
{
int i;
for (i = 1; i <= N; ++i)
B[i] = A[i].x - i;
int mediana = B[(N + 1)/2];
for (i = 1; i <= N; ++i)
B[i] = (long long)mediana + i;
for (i = 1; i <= N; ++i)
best += (long long) labs (B[i] - A[i].x);
for (i = 1; i <= N; ++i)
B[i] = A[i].y - i;
mediana = B[(N + 1)/2];
for (i = 1; i <= N; ++i)
B[i] = (long long)mediana + i;
for (i = 1; i <= N; ++i)
best += (long long) labs (B[i] - A[i].y);
for (i = 1; i <= N; ++i)
B[i] = A[i].z - i;
mediana = B[(N + 1)/2];
for (i = 1; i <= N; ++i)
B[i] = (long long)mediana + i;
for (i = 1; i <= N; ++i)
best += (long long) labs (B[i] - A[i].z);
printf ("%lld\n", (long long) best);
}
int main ()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
scanf ("%d", &N);
for (i = 1; i <= N; ++i)
scanf ("%d %d %d", &A[i].x, &A[i].y, &A[i].z);
solve ();
return 0;
}