Cod sursa(job #2041409)

Utilizator vladcoroian2001Vlad Coroian vladcoroian2001 Data 17 octombrie 2017 11:01:13
Problema Oo Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std;
ifstream fi("oo.in");
ofstream fo("oo.out");
int n,i,S1[100001],S2[100001],SN[100001],X[100001];
int main()
{
    fi>>n;
    for(i=1;i<=n;i++)
        fi>>X[i];
    X[0]=X[n];
    S1[1]=X[1];
    S1[2]=X[1]+X[2];
    for(i=3;i<=n-1;i++)
        S1[i]=max(S1[i-1],S1[i-3]+X[i-1]+X[i]);
    S2[2]=X[2];
    S2[3]=X[2]+X[3];
    for(i=4;i<=n;i++)
        S2[i]=max(S2[i-1],S2[i-3]+X[i-1]+X[i]);
    SN[0]=X[0];
    SN[1]=X[0]+X[1];
    SN[2]=max(SN[1],X[1]+X[2]);
    for(i=3;i<=n-2;i++)
        SN[i]=max(SN[i-1],SN[i-3]+X[i-1]+X[i]);
    fo<<max(S1[n-1],max(S2[n],SN[n-2]));
    fi.close();
    fo.close();
    return 0;
}