Cod sursa(job #2453867)

Utilizator RadianElevenAdrian Ariotn RadianEleven Data 6 septembrie 2019 12:49:31
Problema Oo Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f ("oo.in");
ofstream g ("oo.out");
int n;
int sum[100001][4];
int vek[100001];
int main()
{
    f>>n;
    for(int i=1;i<=n;++i)
    {

        f>>vek[i];
    }
    vek[n+1]=vek[1];
    vek[n+2]=vek[2];

    if(n==2)
    {
        g<<vek[1]+vek[2];
        return 0;
    }
    sum[3][1] = vek[2]+vek[3];
    sum[3][2] = vek[3]+vek[1];
    sum[3][3] = vek[1]+vek[2];
    for(int i=4;i<=n;++i)
    {

            sum[i][1]=max(sum[i-1][1], sum[i-3][1]+vek[i]+vek[i-1]);
    }
    for(int i=4;i<=n+1;++i)
    {

            sum[i][2]=max(sum[i-1][2], sum[i-3][2]+vek[i]+vek[i-1]);
    }
    for(int i=4;i<=n+2;++i)
    {

            sum[i][2]=max(sum[i-1][2], sum[i-3][2]+vek[i]+vek[i-1]);
    }
    g<<max(sum[n][1], max(sum[n][2], sum[n][3]));
    return 0;
}