Pagini recente » Cod sursa (job #2311822) | Cod sursa (job #1702725) | Cod sursa (job #2178969) | Cod sursa (job #3192598) | Cod sursa (job #1504034)
#include <bits/stdc++.h>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
const int nmax=100005;
int dinamica[nmax],val[nmax];
int i,n,ras;
int main()
{
f>>n;
for (i=1;i<=n;i++)
f>>val[i];
dinamica[2]=dinamica[3]=dinamica[4]=val[1]+val[2];
for (i=5;i<n;i++)
dinamica[i]=max(val[i]+val[i-1]+dinamica[max(i-3,0)],dinamica[i-1]);
ras=dinamica[n-1];
for (i=1;i<=n;i++)
dinamica[i]=0;
for (i=3;i<=n;i++)
dinamica[i]=max(val[i]+val[i-1]+dinamica[max(i-3,0)],dinamica[i-1]);
ras=max(dinamica[n],ras);
for (i=1;i<=n;i++)
dinamica[i]=0;
dinamica[1]=dinamica[2]=dinamica[3]=val[1]+val[n];
for (i=4;i<n;i++)
dinamica[i]=max(val[i]+val[i-1]+dinamica[max(i-3,0)],dinamica[i-1]);
ras=max(dinamica[n-1],ras);
g<<ras;
return 0;
}