Cod sursa(job #1343972)

Utilizator bodyionitaIonita Bogdan Constantin bodyionita Data 16 februarie 2015 07:28:26
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#include <algorithm>
using namespace std;
int i,n,max1,max2,s[100001],a[100001],v[1000001];
int main()
{
    freopen("oo.in","r",stdin);
    freopen("oo.out","w",stdout);
    scanf("%d",&n);
    for (i=1;i<=n;i++) scanf("%d",&a[i]);a[n+1]=a[1];
    for (i=1;i<=n;i++) s[i]=a[i]+a[i+1];
    v[1]=v[2]=v[3]=s[1];
    for (i=4;i<n-1;i++) v[i]=max(v[i-1],v[i-3]+s[i]);
    max1=v[n-2];
    v[2]=v[3]=v[4]=s[2];
    for (i=5;i<n;i++) v[i]=max(v[i-1],v[i-3]+s[i]);
    max2=v[n-1];
    v[3]=v[4]=v[5]=s[3];
    for (i=6;i<n+1;i++) v[i]=max(v[i-1],v[i-3]+s[i]);
    max2=max(max2,v[n]);
    max1=max(max1,max2);
    printf("%d\n",max1);
    return 0;
}