Cod sursa(job #1196511)

Utilizator florin.elfusFlorin Elfus florin.elfus Data 8 iunie 2014 13:51:39
Problema Inundatii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>

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

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

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

    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]);

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

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