Cod sursa(job #1498741)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 9 octombrie 2015 00:21:00
Problema Inundatii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.46 kb
#include <cstdio>
#include <algorithm>
#include <math.h>

#define DIM 52000
using namespace std;

int N, sum; long long val;
int X1[DIM], Y1[DIM], Z1[DIM];
int X2[DIM], Y2[DIM], Z2[DIM];

int main ()
{
    freopen ("inundatii.in" ,"r", stdin );
    freopen ("inundatii.out","w", stdout);

    scanf ("%d", &N);

    for (int i = 1; i <= N; i ++)
    {
        scanf ("%d", &X1[i]);
        scanf ("%d", &Y1[i]);
        scanf ("%d", &Z1[i]);

        X1[i] -= i;
        Y1[i] -= i;
        Z1[i] -= i;
    }

/***********************************/

    sum = 0;
    for (int i = 1; i <= N; i ++)
        sum += X1[i];

    sum /= N;

    for (int i = 1; i <= N; i ++)
        X2[i] = sum + i;

    for (int i = 1; i <= N; i ++)
        val += abs (X1[i] + i - X2[i]);

/***********************************/

    sum = 0;
    for (int i = 1; i <= N; i ++)
        sum += Y1[i];

    sum /= N;

    for (int i = 1; i <= N; i ++)
        Y2[i] = sum + i;

    for (int i = 1; i <= N; i ++)
        val += abs (Y1[i] + i - Y2[i]);


/***********************************/

    sum = 0;
    for (int i = 1; i <= N; i ++)
        sum += Z1[i];

    sum /= N;

    for (int i = 1; i <= N; i ++)
        Z2[i] = sum + i;

    for (int i = 1; i <= N; i ++)
       val += abs (Z1[i] + i - Z2[i]);

/***********************************/

    printf ("%lld\n", val);

    fclose (stdin );
    fclose (stdout);

    return 0;
}