Pagini recente » Cod sursa (job #771142) | Cod sursa (job #1812470) | Cod sursa (job #177237) | Cod sursa (job #1142334) | Cod sursa (job #1325757)
#include <iostream>
#include <fstream>
#define nmax 100005
using namespace std;
ifstream f ("oo.in");
ofstream g ("oo.out");
int n,sol;
int v[nmax];
int a[nmax];
void trying(int start, int sfarsit) {
a[start]=0;
a[start+1]=v[start]+v[start+1];
for (int i=start+2;i<=sfarsit;i++)
a[i]=max(a[i-3] + v[i-1] + v[i], a[i - 1]);
sol = max(a[sfarsit], sol);
}
int main() {
f>>n;
for (int i=1;i<=n;i++) f>>v[i];
v[n+1] =v[1];
trying(1, n - 1);
trying(2, n);
trying(3, n + 1);
g<<sol<<'\n';
return 0;
}