Pagini recente » Cod sursa (job #328763) | Cod sursa (job #3163127) | Cod sursa (job #1052474) | Cod sursa (job #3228106) | Cod sursa (job #373865)
Cod sursa(job #373865)
#include <stdio.h>
int v[100001],a[100001],s[100001];
int main()
{
int n,i,max;
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d",&n);
for (i=1;i<n+1;i++) scanf("%d",&v[i]);
s[1]=v[n]+v[1];a[1]=2;
s[2]=v[1]+v[2];a[2]=1;
s[3]=v[2]+v[3];
for (i=4;i<n+1;i++)
{
s[i]=s[i-5]+v[i-3]+v[i-1]+v[i];a[i]=a[i-5];
if ((s[i-4]+v[i-1]+v[i]>s[i])&&(i<n-a[i-4])) {s[i]=s[i-4]+v[i-1]+v[i];a[i]=a[i-4];}
if ((s[i-3]+v[i-1]+v[i]>s[i])&&(i<n-a[i-3])) {s[i]=s[i-3]+v[i-1]+v[i];a[i]=a[i-5];}
}
max=s[n];
if (s[n-1]>max) max=s[n-1];
if (s[n-2]>max) max=s[n-2];
if (s[n-3]>max) max=s[n-3];
if (s[n-4]>max) max=s[n-4];
printf("%d",max);
return 0;
}