Pagini recente » Cod sursa (job #978076) | Documentatie | Arhiva de probleme | Cod sursa (job #204024) | Cod sursa (job #551440)
Cod sursa(job #551440)
#include<stdio.h>
int n,v[100001],best[100001],sol;
int max(int a,int b)
{
if(a>=b)
return a;
else
return b;
}
void read()
{scanf("%d ",&n);
for(int i=1;i<=n;i++)
scanf("%d ",&v[i]);
v[n+1]=v[1];
}
void solve(int l,int r)
{
best[l]=0;
best[l-1]=v[l-2]+v[l-1];
for(int i=l;i<=r;i++)
{
best[i]=max(best[i-1],best[i-3]+v[i-1]+v[i]);
if(best[i]>sol)
sol=best[i];
}
}
void print()
{
printf("%d ",sol);
}
int main()
{
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
read();
solve(3,n-1);
solve(4,n);
solve(5,n+1);
print();
return 0;
}