Pagini recente » Cod sursa (job #3241440) | Monitorul de evaluare | Cod sursa (job #786631) | Cod sursa (job #1613089) | Cod sursa (job #590176)
Cod sursa(job #590176)
#include <stdio.h>
#define N 100005
using namespace std;
int n,REZ,A[4][N],X[N];
FILE *f,*g;
void citire()
{
int i;
fscanf(f,"%d",&n);
for (i=1;i<=n;++i)
fscanf(f,"%d",&X[i]);
}
int maxim(int a, int b)
{
if (a>=b)
return a;
else
return b;
}
void solve()
{
int i,j,x;
x=n-3;
REZ=0;
for (i=1;i<=3;++i)
{
A[i][i+1]=A[i][i]=X[i]+X[i-1];
for (j=i+2;j<=x+i;++j)
A[i][j]=maxim(A[i][j-1],A[i][j-3]+X[j]+X[j-1]);
if (A[i][x+i]>REZ)
REZ=A[i][x+i];
}
fprintf(g,"%d",REZ);
}
int main()
{
f=fopen("oo.in","r");
g=fopen("oo.out","w");
citire();
solve();
fclose(f);
fclose(g);
return 0;
}