Cod sursa(job #843414)

Utilizator elfusFlorin Chirica elfus Data 27 decembrie 2012 22:30:39
Problema Inundatii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>

int x[50100], y[50100], z[50100];

inline int ab(int X)
{
    if (X > 0)
        return X;
    return -X;
}

int solve(int X[], int N)
{
    int i, sol = 0, middle = (N + 1) / 2, med = X[middle] - middle;

    for (i = 1; i <= N; i ++)
        sol += ab(X[i] - i - med);

    return sol;
}

int main()
{
    int i, N;

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

    scanf("%d", &N);
    for (i = 1; i <= N; i ++)
        scanf("%d%d%d", &x[i], &y[i], &z[i]);

    int sol = solve(x, N) + solve(y, N) + solve(z, N);

    printf("%d", sol);
    return 0;
}