Pagini recente » Cod sursa (job #2723781) | Cod sursa (job #2906195) | Cod sursa (job #2732409) | Cod sursa (job #2792474) | Cod sursa (job #3291697)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("oo.in");
ofstream fout ("oo.out");
int N,rez;
int v[100009],sum[100009];
int main()
{
fin>>N;
for(int i=1;i<=N;i++)
{
fin>>v[i];
}
///caz 1: luam 1 si 2
sum[2]=sum[3]=sum[4]=v[1]+v[2];
for(int i=5;i<N;i++)
{
sum[i]=max(v[i]+v[i-1]+sum[i-3],sum[i-1]);
}
rez=sum[N-1];
///caz 2: nu luam 1
sum[3]=sum[4]=sum[5]=v[2]+v[3];
for(int i=6;i<=N;i++)
{
sum[i]=max(v[i]+v[i-1]+sum[i-3],sum[i-1]);
}
rez=max(rez,sum[N]);
///caz 3: luam 1 si N
sum[1]=sum[2]=sum[3]=v[1]+v[N];
for(int i=4;i<N-1;i++)
{
sum[i]=max(v[i]+v[i-1]+sum[i-3],sum[i-1]);
}
rez=max(rez,sum[N-2]);
fout<<rez;
return 0;
}