Cod sursa(job #2540746)

Utilizator FrostfireMagirescu Tudor Frostfire Data 7 februarie 2020 17:33:03
Problema Inundatii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#define NMAX 50000

using namespace std;

ifstream f("inundatii.in");
ofstream g("inundatii.out");

long long n, v[5][NMAX+10];
long long sol;

long long calc(int d, int p)
{
    long long val = v[d][p], nr = 0;
    for(int i=p-1; i>=1; i--) nr = nr + v[d][i] - (val - (p - i));
    for(int i=p+1; i<=n; i++) nr = nr + (val + (i - p)) - v[d][i];
    return nr;
}

void solve(int d)
{   if(n % 2 == 1) sol += calc(d, (n+1)/2);
    else sol += min(calc(d, n/2), calc(d, n/2+1));
}

int main()
{
    f >> n;
    for(int i=1; i<=n; i++) f >> v[0][i] >> v[1][i] >> v[2][i];
    for(int i=0; i<=2; i++) solve(i);
    g << sol << '\n';
    return 0;
}