Cod sursa(job #2300166)

Utilizator maria15Maria Dinca maria15 Data 10 decembrie 2018 22:10:40
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>

using namespace std;

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

int n, i, v[100002], d[100002], maxim[100002], sol;

int main(){
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    maxim[3] = maxim[4] = d[2] = maxim[2] = v[1] + v[2];
    for(i=5;i<=n-1;i++){
        d[i] = maxim[i-3] + v[i] + v[i-1];
        maxim[i] = max(maxim[i-1], d[i]);
    }
    sol = maxim[n-1];
    maxim[4] = maxim[5] = d[3] = maxim[3] = v[2]+v[3];
    for(i=6;i<=n;i++){
        d[i] = maxim[i-3] + v[i] + v[i-1];
        maxim[i] = max(maxim[i-1], d[i]);
    }
    sol = max(sol, maxim[n]);
    maxim[1] = maxim[2] = maxim[3] = d[1] = v[n] + v[1];
    for(i=4;i<=n-2;i++){
        d[i] = maxim[i-3] + v[i] + v[i-1];
        maxim[i] = max(maxim[i-1], d[i]);
    }
    fout<<max(sol, maxim[n-2]);
    return 0;
}