Cod sursa(job #1781380)

Utilizator silkMarin Dragos silk Data 16 octombrie 2016 20:25:33
Problema Inundatii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
#define NMax 50000
#define ll long long
#define ABS(x)((x)>0?(x):(-(x)))

int x[3][NMax+1];
int N;

ll get_min(int l)
{
    int i,mid;
    ll ans = 0;

    mid = (N+1)/2;
    for (i = 1; i <= N; ++i) ans += ABS(mid-i) + ABS(x[l][mid]-x[l][i]);

    return ans;
}

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

    int i,j;

    scanf("%d",&N);
    for(i = 1; i <= N; ++i)
        for(j = 0; j < 3; ++j) scanf("%d",&x[j][i]);

    printf("%lld\n", get_min(0) + get_min(1) + get_min(2) );



return 0;
}