Cod sursa(job #2456533)

Utilizator bluestorm57Vasile T bluestorm57 Data 14 septembrie 2019 16:16:46
Problema Operatii Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 1000005;
int n, v[NMAX], ans;

void coating(int lo, int &hi, int value){
    int i;
    for(i = lo ; v[i] && i <= n ; i++)
        if(v[i] > value){
            coating(i, i, v[i]);
            //ans -= (v[i] - v[hi]);
        }else
            if(v[i] < value){
                ans += (value - v[i]);
                value = v[i];
            }
    ans += (v[i - 1] - v[i]);
    hi = i;
}

int main(){
    int i,lo,hi, Min = NMAX,a,b;
    f >> n;
    for(i = 1 ; i <= n ; i++)
        f >> v[i];

    for(i = 1 ; i <= n ; i++)
        if(v[i]){
            coating(i,i,v[i]);
        }

    g << ans;


    return 0;
}