Cod sursa(job #2540583)

Utilizator theo2003Theodor Negrescu theo2003 Data 7 februarie 2020 12:40:56
Problema Operatii Scor 100
Compilator cpp-64 Status done
Runda irim_eralumis Marime 0.69 kb
#include <vector>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("operatii.in");
ofstream cout("operatii.out");
int n, arr[1000001];
unsigned long long int result = 0;
int main() {
    cin>>n;
    for(int x = 0; x<n; x++) {
        cin>>arr[x];
    }
    arr[n++] = 0;
    vector<int> intervals = {0};
    for(int x = 0;x<n;x++){
        if(arr[x] > intervals.back()){
            result += arr[x] - intervals.back();
            intervals.push_back(arr[x]);
        }else{
            while(arr[x] < intervals.back())
                intervals.pop_back();
            intervals.push_back(arr[x]);
        }
    }
    cout<<result<<'\n';
    return 0;
}