Pagini recente » Cod sursa (job #724134) | Monitorul de evaluare | Cod sursa (job #2923006) | Cod sursa (job #1601704) | Cod sursa (job #1966306)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
const int Nmax = 100005;
int n,a[Nmax],rez,nmax[Nmax];
int main()
{
fin>>n;
for(int i = 1; i <= n; ++ i)fin >> a[i];
nmax[2] = a[2]+a[1];
for(int i = 3; i < n; ++i) nmax[i] = max(a[i] + a[i-1] + nmax[i-3], nmax[i-1]);
rez = nmax[n-1];
for(int i = 2; i <= n; ++ i) nmax[i] = 0;
nmax[3] = a[3] + a[2];
for(int i = 4; i <= n; ++i) nmax[i] = max(a[i] + a[i-1] + nmax[i-3], nmax[i-1]);
rez = max(rez,nmax[n]);
a[n+1] = a[1];
for(int i = 2; i <= n; ++ i) nmax[i] = 0;
nmax[4] = a[4] + a[3];
for(int i = 5; i <= n + 1 ; ++ i) nmax[i] = max(a[i] + a[i-1] + nmax[i-3], nmax[i-1]);
rez = max(rez, nmax[n+1]);
fout << rez;
return 0;
}