Cod sursa(job #127348)

Utilizator filipbFilip Cristian Buruiana filipb Data 23 ianuarie 2008 19:21:54
Problema Inundatii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>

#define ll long long

int N, X[50005], Y[50005], Z[50005];
ll cnt;

int modul(int X)
{ if (X < 0) return -X; return +X; }

ll compute(int *X)
{
    int i, med;
    ll Res = 0;

    med = X[N/2] - (N-N/2);
    for (i = 1; i <= N; i++)
        Res += modul(X[i] - med - i + 1);
    return Res;
}

int main(void)
{
    int i;
    
    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]);

    cnt = compute(X) + compute(Y) + compute(Z);

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

    return 0;
}