Pagini recente » Cod sursa (job #1940648) | Cod sursa (job #2546940) | Cod sursa (job #519748) | Cod sursa (job #885279) | Cod sursa (job #46484)
Cod sursa(job #46484)
#include<stdio.h>
long z[60001],y[60001],b,n,m,j,k,i,l,a,s,x[60001];
int main()
{
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%ld",&n);
for (i=1;i<=n;i++)
scanf("%ld",&x[i]);
for (i=1;i<=n;i++)
if (i+3<=n) y[i]=x[i]+x[i+3]; else y[i]=x[i]+x[i+3-n];
a=1;
s=0;
while (a)
{
k=100000;
for (i=1;i<=n;i++)
{
if (i+1>n) a=1; else a=i+1;
if (i+2>n) b=2; else b=i+2;
if (z[i]==0&&y[i]<k&&z[a]==0&&z[b]==0) {k=y[i];l=i;}
}
if (k!=100000)
{
if (l+1<=n) s+=x[l+1]; else s+=x[1];
if (l+1<=n) z[l+1]=1; else z[1]=1;
if (l+2<=n) s+=x[l+2]; else s+=x[2];
if (l+2<=n) z[l+2]=1; else z[2]=1;
z[l]=1;
} else a=0;
// if (k==100) a=0;
}
printf("%ld\n",s);
return 0;
}