Cod sursa(job #373743)

Utilizator bugyBogdan Vlad bugy Data 14 decembrie 2009 22:49:26
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
using namespace std;
#define dim 100001

int n,oo[dim];
long a[dim],rez;
long maxim(long A, long B)
{
	if (A>B) return A; 
	else return B;
}

int main()
{int i,j,k;
FILE *f=fopen("oo.in","r"), *g=fopen("oo.out","w");
fscanf(f,"%d",&n);

for(i=0;i<n;i++)
	fscanf(f,"%d",&oo[i]);
if(n==2) rez=oo[0]+oo[1];
else

	for(k=0;k<2;k=(k+1)%n)
	{
		a[ k ] = 0;
		a[ ( k + 1 ) % n] = 0;
		a[ ( k + 2 ) % n ] = oo [ ( k + 1 ) % n ] + oo [ ( k + 2 ) %n ];
		
		for( i = ( k + 3 ) %n ; i != k;  i = (i + 1) %n)
				a[i] = maxim( a [ (i - 1 + n ) %n] , a [ ( i - 3 + n ) %n ] + oo[ ( i - 1 + n) %n]+ oo[i] );
rez = maxim (rez, a [ ( i - 1 + n) %n ] ); 
	
		
		
	}


fprintf(g,"%ld\n",rez);


fclose(f);
fclose(f);

return 0;}