Pagini recente » Cod sursa (job #1865033) | Cod sursa (job #1144677) | Cod sursa (job #1357941) | Cod sursa (job #214822) | Cod sursa (job #1730639)
#include <fstream>
#define nmax 100001
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n,v[nmax],vs[nmax],s;
void citire()
{fin>>n;
for(int i=1;i<=n;i++)fin>>v[i];
}
void rezolva()
{
int i;
vs[2] = vs[3] = vs[4] = v[1]+v[2];
for(i = 5; i < n; i++)
vs[i] = max(vs[i-1], v[i]+v[i-1]+vs[i-3]);
s = vs[n-1];
vs[0] = vs[1] = vs[2] = 0;
for(i = 3; i <= n; i++)
vs[i] = max(vs[i-1], v[i]+v[i-1]+vs[i-3]);
s = max(s, vs[n]);
vs[1] = vs[2] = vs[3] = v[1]+v[n];
for(i = 4; i < n-1; i++)
vs[i] = max(vs[i-1], v[i]+v[i-1]+vs[i-3]);
s = max(s, vs[n-2]);
}
void write()
{
fout<<s<<'\n';
}
int main()
{
citire();
rezolva();
write();
return 0;
}