Cod sursa(job #2486402)

Utilizator Dorin07Cuibus Dorin Iosif Dorin07 Data 2 noiembrie 2019 20:13:39
Problema Oo Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <bits/stdc++.h>
#define N 100003
using namespace std;

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

int n, a[N], b[N], s, maxi = -1, pos, cop;

void citire(){
    fin>>n;
    for(int i = 1; i <= n; ++i)
        fin>>a[i];
}

void alg(){
    a[n+1] = a[1];
    for(int i = 1; i <= n; ++i)
            b[i] = a[i] + a[i+1];
    cop = n;
    while(cop){
        --cop;
        maxi = -1;
        for(int i = 1; i <= n; ++i){
            if(b[i] > maxi){
                maxi = b[i];
                pos = i;
            }
        }
        if(maxi > 0 && b[pos-1] != -1 && b[pos+2] != -1)
           s += maxi;
        b[pos] = b[pos-1] = b[pos+2] = -1;
        if(pos == 1)
            b[n] = -1;
        else if(pos == n)
            b[1] = -1;
    }
    fout<<s;
}

/*void afisare(){
    for(int i = 1; i <= n; ++i)
        fout<<b[i]<<" ";
}*/

int main(){
    citire();
    alg();
    ///afisare();
}