Cod sursa(job #46493)

Utilizator za_wolfpalianos cristian za_wolf Data 2 aprilie 2007 18:11:13
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#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;
}