Cod sursa(job #1197502)

Utilizator BogdanOuatuOuatu Bogdan-Ioan BogdanOuatu Data 12 iunie 2014 11:50:02
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;
int a[100004],b[100004],c[100040],s[100004];
ifstream fin("oo.in");
ofstream fout("oo.out");
int main()
{
    int n,i,best=0,x,y,p;
    fin>>n;
    fin>>x;
    p=x;
    for(i=3;i<n+2;i++)
        {
            fin>>y;
            s[i]=x+y;
            x=y;
        }
    fin>>y;
    s[n+2]=p+y;
    s[1]=s[n+1];
    s[2]=s[n];
    a[1]=a[2]=s[1];
    for(i=3;i<=n;i++)
           a[i]=max(a[i-3]+s[i],a[i-1],a[i-2]);
    best=max(best,a[n]);
    b[1]=b[2]=s[2];
    for(i=3;i<=n;i++)
            b[i]=max(a[i-3]+s[i+1],a[i-1],a[i-2]);
    best=max(best,b[n]);
    c[1]=c[2]=s[3];
    for(i=3;i<=n;i++)
            c[i]=max(a[i-3]+s[i+2],a[i-1],a[i-2]);
    best=max(best,c[n]);
    fout<<best<<'\n';
    return 0;
}