Cod sursa(job #2538847)

Utilizator ArdeleanOficialAlexandru ArdeleanOficial Data 5 februarie 2020 11:08:05
Problema Inundatii Scor 0
Compilator cpp-64 Status done
Runda simulare_miri Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("inundatii.in");
ofstream fout("inundatii.out");

const int N = 5e4 + 7;

struct Hatz {
    int a, b, c;
};

Hatz v[N], mnm[N];

int main()
{
    int n;
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> v[i].a >> v[i].b >> v[i].c;
        v[i].a -= i;
        v[i].b -= i;
        v[i].c -= i;
    }
    mnm[n + 1] = {(int)1e9 + 7, (int)1e9 + 7, (int)1e9 + 7};
    for (int i = n; i >= 1; --i)
        mnm[i] = {min(mnm[i + 1].a, v[i].a), min(mnm[i + 1].b, v[i].b), min(mnm[i + 1].c, v[i].c)};
    long long ans(0);
    for (int i = 1; i <= n; ++i)
        ans += 1LL * v[i].a - mnm[i].a + 1LL * v[i].b - mnm[i].b + v[i].c - mnm[i].c;
    fout << ans;
    return 0;
}