Cod sursa(job #3199084)

Utilizator andreea678Rusu Andreea-Cristina andreea678 Data 31 ianuarie 2024 17:55:54
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

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

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