Pagini recente » Cod sursa (job #2587089) | Cod sursa (job #1856206) | Cod sursa (job #1698413) | Cod sursa (job #2648765) | Cod sursa (job #1308994)
#include <fstream>
#include <cstdio>
#define nmax 100005
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int v[nmax+5],sol;
int a[nmax+5],p;
void trying(int k,int n)
{
int i,j;
for (i=0;i<=n+5;i++) a[i]=0;
for (i=k;i<=n+1;i++) {
a[i]=a[i-1];
p=0;
if (i-2>=k) p=v[i-2]+v[i-1];
if (i-3>=k) p+=a[i-3];
a[i]=max(a[i],p);
}
sol=max(sol,a[n+1]);
}
int main(){
int i,j,n;
f>>n;
for (i=1;i<=n;i++)
f>>v[i];
trying(1,n);
j=v[n];
for (i=n+1;i>=1;i--) v[i]=v[i-1];
v[n+1]=0;
v[1]=j;
trying(1,n);
g<<sol;
return 0;
}