Cod sursa(job #2930631)

Utilizator AndreiBOTOBotocan Andrei AndreiBOTO Data 28 octombrie 2022 23:08:57
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>
#include <fstream>
#include <algorithm>

///#include <tryhardmode>
///#include <GODMODE::ON>

using namespace std;

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

const int NMAX=1e5+5;

int v[NMAX];
int dp[NMAX];

int main()
{
    int n,i,j,sumadi,s1,s2,s3;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    v[n+1]=v[1];
    dp[1]=0;
    dp[2]=v[1]+v[2];
    for(i=3;i<=n-1;i++)
    {
        sumadi=dp[i-3]+v[i]+v[i-1];
        dp[i]=max(dp[i-1],sumadi);
    }
    s1=dp[n-1];
    dp[2]=0;
    dp[3]=v[2]+v[3];
    for(i=4;i<=n;i++)
    {
        sumadi=dp[i-3]+v[i]+v[i-1];
        dp[i]=max(dp[i-1],sumadi);
    }
    s2=dp[n];
    dp[3]=0;
    dp[4]=v[3]+v[4];
    for(i=5;i<=n+1;i++)
    {
        sumadi=dp[i-3]+v[i]+v[i-1];
        dp[i]=max(dp[i-1],sumadi);
    }
    s3=max(s1,max(s2,dp[n+1]));
    fout<<s3;
    return 0;
}