Pagini recente » Cod sursa (job #1333029) | Cod sursa (job #1810120) | Cod sursa (job #1605205) | Cod sursa (job #2591663) | Cod sursa (job #373743)
Cod sursa(job #373743)
#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;}