Pagini recente » Cod sursa (job #1367817) | Cod sursa (job #1086458) | Cod sursa (job #1958605) | Cod sursa (job #468889) | Cod sursa (job #2774970)
#include<stdio.h>
#define M(a,b) ((a)<(b)?(b):(a))
int n,a[100001],i,b[100000],c[100001],d[99999];
int main()
{
freopen("oo.in","r",stdin),freopen("oo.out","w",stdout),scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%d",a+i);
b[2]=a[1]+a[2],c[3]=a[2]+a[3],d[1]=a[n]+a[1],b[3]=b[2],c[4]=c[3],d[2]=d[1];
for(i=4;i<n;++i)
b[i]=M(b[i-1],b[i-3]+a[i]+a[i-1]);
for(i=5;i<=n;++i)
c[i]=M(c[i-1],c[i-3]+a[i]+a[i-1]);
for(i=3;i<n-1;++i)
d[i]=M(d[i-1],d[i-3]+a[i]+a[i-1]);
printf("%d",M(b[n-1],M(c[n],d[n-2])));
return 0;
}