Pagini recente » Cod sursa (job #1773069) | Cod sursa (job #1512629) | Cod sursa (job #1668751) | Cod sursa (job #1791937) | Cod sursa (job #589989)
Cod sursa(job #589989)
#include<stdio.h>
#include<vector>
int N;
int A[100100];
int B[100100];
int a;
int MAX;
#define B (B + 10)
void solve(int a,int b)
{
for(int i=1;i<=N;i++)
B[i] = 0;
int c;
if(b == N)
B[N] += A[1];
for(int i=a;i<=b;i++)
B[i] += A[i+1]+A[i];
c = 0;
for(int i=a;i<=b;i++)
{
if(c<B[i-3])
c = B[i-3];
B[i] = B[i] + c;
}
for(int i=b-3;i<=b;i++)
if(c<B[i])
c = B[i];
if(MAX<c)
MAX = c;
}
int main()
{
FILE *f = fopen("oo.in","r");
FILE *g = fopen("oo.out","w");
fscanf(f,"%d ",&N);
for(int i=1;i<=N;i++)
fscanf(f,"%d ",&A[i]);
solve(1,N-2);
solve(2,N-1);
solve(3,N);
fprintf(g,"%d ",MAX);
fclose(g);
fclose(f);
return 0;
}