Pagini recente » Cod sursa (job #601892) | Cod sursa (job #277171) | Cod sursa (job #346222) | Cod sursa (job #696284) | Cod sursa (job #1022644)
#include <fstream>
#include <algorithm>
using namespace std;
int N,a[100005],d[5][100005];
inline void Read()
{
int i;
ifstream fin("oo.in");
fin>>N;
for(i=1;i<=N;i++)
fin>>a[i];
fin.close();
}
inline void Solve()
{
int i;
d[0][2]=a[1]+a[2];
d[1][3]=a[2]+a[3];
d[2][4]=a[3]+a[4];
for(i=3;i<N;i++)
d[0][i]=max(d[0][i-1], d[0][i-3]+a[i]+a[i-1]);
d[0][N]=d[0][N-1];
for(i=4;i<=N;i++)
d[1][i]=max(d[1][i-1], d[1][i-3]+a[i]+a[i-1]);
a[N+1]=a[1];
for(i=5;i<=N+1;i++)
d[2][i]=max(d[2][i-1], d[2][i-3]+a[i]+a[i-1]);
d[2][N]=d[2][N+1];
}
inline void Write()
{
ofstream fout("oo.out");
fout<<max(max(d[0][N],d[1][N]), d[2][N])<<"\n";
fout.close();
}
int main()
{
Read();
Solve();
Write();
return 0;
}