Pagini recente » Cod sursa (job #2363861) | Cod sursa (job #1166007) | Cod sursa (job #1403055) | Cod sursa (job #457334) | Cod sursa (job #866875)
Cod sursa(job #866875)
#include<cstdio>
#include<cassert>
#define Nmax 100005
FILE *f=fopen("oo.in","r");
FILE *g=fopen("oo.out","w");
using namespace std;
int n,v[Nmax],Smax,Q[Nmax];
void read()
{
fscanf(f,"%d",&n);
int i;
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
v[n+1]=v[1];
}
int max(int i,int j)
{
if(i>j)
return i;
else return j;
}
void solve(int left,int right)
{
int i;
Q[left]=0;
Q[left+1]=v[left]+v[left+1];
for(i=left+2;i<=right;i++)
{
Q[i]=max(Q[i-1],Q[i-3]+v[i-1]+v[i]);
}
Smax=max(Smax,Q[right]);
}
void write()
{
fprintf(g,"%d",Smax);
}
int main()
{
read();
solve(1,n-1);
solve(2,n);
solve(3,n+1);
write();
return 0;
}