Cod sursa(job #273778)

Utilizator mika17Mihai Alex Ionescu mika17 Data 8 martie 2009 23:52:56
Problema Operatii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
using namespace std;

const int INF = ~(1<<31);
ifstream fin("operatii.in");
ofstream fout("operatii.out");

int main() {
    
    int N,minv = INF, maxv = ~INF, t = 0;
    long long sol = 0;
    fin>>N;
    for(int v,vl=-1,i=0;i<=N;++i, vl = v) {
            
            if(i < N) fin>>v; 
             else v = 0;
            if(v) minv = min(minv,v), maxv = max(maxv,v);
            if(v < vl && maxv != ~INF)  sol += maxv, ++t, maxv = ~INF;      
            if(!v && minv != INF) sol -= minv*(t-1), minv = INF, t = 0;
            
            }
            
    fout<<sol;
}