Pagini recente » Cod sursa (job #1254050) | Cod sursa (job #1640675) | Cod sursa (job #2051702) | Cod sursa (job #940957) | Cod sursa (job #423741)
Cod sursa(job #423741)
#include <stdio.h>
#define DIM 100001
FILE *f1 = fopen("oo.in","r");
FILE *f2 = fopen("oo.out","w");
int s[DIM];
int v[DIM];
int n;
int i;
int max;
int main(){
fscanf(f1,"%d",&n);
for(i=1; i<=n; i++)
fscanf(f1,"%d",&v[i]);
int x1,x2;
s[0] = 0;
s[1] = 0;
s[2] = v[2] + v[1];
if(max < s[2])
max = s[2];
for(i=3; i<=n-1; i++){
x1 = v[i] + v[i - 1] + s[i - 3];
x2 = s[i - 1];
s[i] = x1>x2?x1:x2;
if(max < s[i])
max = s[i];
}
s[0] = 0;
s[1] = 0;
s[2] = 0;
s[3] = v[3] + v[2];
if(max < s[3])
max = s[3];
for(i=3; i<=n; i++){
x1 = v[i] + v[i - 1] + s[i - 3];
x2 = s[i - 1];
s[i] = x1>x2?x1:x2;
if(max < s[i])
max = s[i];
}
s[0] = 0;
s[1] = v[1] + v[n];
if(max < s[1])
max = s[1];
x1 = v[2] + v[1];
x2 = s[2 - 1];
s[2] = x1>x2?x1:x2;
if(max < s[2])
max = s[2];
for(i=3; i<=n-2; i++){
x1 = v[i] + v[i - 1] + s[i - 3];
x2 = s[i - 1];
s[i] = x1>x2?x1:x2;
if(max < s[i])
max = s[i];
}
fprintf(f2,"%d",max);
fclose(f1);
fclose(f2);
return 0;
}