Cod sursa(job #851717)

Utilizator stoicatheoFlirk Navok stoicatheo Data 10 ianuarie 2013 13:08:34
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;
}