Pagini recente » Cod sursa (job #1392724) | Cod sursa (job #414614) | Cod sursa (job #875928) | Cod sursa (job #240435) | Cod sursa (job #3291614)
#include<fstream>
const int dim=100002;
using namespace std;
int a[dim],b[dim],rez;
int main()
{
ifstream f("oo.in");
ofstream g("oo.out");
int i,j,k,N;
f>>N;
for(i=1; i<=N; ++i)
f>>a[i];
//luam 1 si 2
b[2]=b[3]=b[4]=a[1]+a[2];
for(i=5; i<N; ++i)
{
b[i]=b[i-1];
if(b[i]<b[i-3]+a[i-1]+a[i])
b[i]=b[i-3]+a[i-1]+a[i];
}
rez=max(rez,b[N-1]);
//nu luam 1
b[0]=b[1]=b[2]=0;
for(i=3; i<=N; ++i)
{
b[i]=b[i-1];
if(b[i]<b[i-3]+a[i-1]+a[i])
b[i]=b[i-3]+a[i-1]+a[i];
}
rez=max(rez,b[N]);
//luam N si 1
b[1]=b[2]=b[3]=a[N]+a[1];
for(i=4; i<N-1; ++i)
{
b[i]=b[i-1];
if(b[i]<b[i-3]+a[i-1]+a[i])
b[i]=b[i-3]+a[i-1]+a[i];
}
rez=max(rez,b[N-2]);
g<<rez<<'\n';
return 0;
}