Cod sursa(job #3232730)

Utilizator elisa.ipateElisa Ipate elisa.ipate Data 1 iunie 2024 10:33:42
Problema Inundatii Scor 0
Compilator cpp-64 Status done
Runda Simulare E4 #1 Marime 0.93 kb
#include <iostream>
#include <fstream>

using namespace std;

#define nmax 50000

int x[nmax], y[nmax], z[nmax], n;

int fct( int v[] ) {
    int i, rez = 0, minn, j;
    for( i = 0; i < n; i++ ) {
        minn = v[i];
        for( j = i + 1; j < n; j++ )
            minn = min( minn, v[j] );
        rez += v[i] - minn;
        v[i] = minn;
    }
    //cout << rez << " ";
    for( i = 1; i < n; i++ ) {
        if( v[i] == v[i - 1] ) {
            for( j = i - 1; j > 0; j-- ) {
                if( v[j] > v[j - 1] + 1 )
                    break;
            }
            rez += i - j;
        }
    }
    //cout << rez << "\n";
    return rez;
}

int main()
{
    int i, rez;
    ifstream cin("inundatii.in");
    ofstream cout("inundatii.out");
    cin >> n;
    for( i = 0; i < n; i++ )
        cin >> x[i] >> y[i] >> z[i];

    rez = fct( x ) + fct( y ) + fct( z );;
    cout << rez;
    return 0;
}