Pagini recente » Cod sursa (job #1083592) | Istoria paginii runda/wellcodesimulare2martieclasa10/clasament | Cod sursa (job #194915) | Cod sursa (job #1005719) | Cod sursa (job #58498)
Cod sursa(job #58498)
#include <cstdio>
#include <algorithm>
using namespace std;
int v[100100];
int x[100100];
int main()
{
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
int n,i,max, sol = 0, fs = 1;
scanf("%d", &n);
for(i=1;i<=n;++i)
scanf("%d", v+i);
#define calc1 \
max = 0; \
x[fs] = 0; \
x[fs+1] = v[fs+1] + v[fs]; \
for(i=fs+2;i<n;++i) \
{ \
x[i] = max + v[i-1] + v[i]; \
if(x[i-2] > max) \
max = x[i-2]; \
} \
\
if(max < x[n-1]) \
max = x[n-1]; \
\
if(sol < max) \
sol = max
#define calc2 v[--fs] = v[n]; --n; calc1; ++fs; ++n
#define calc3 reverse(v,v+n); calc1
calc1;
calc2;
calc3;
printf("%d\n", sol);
return 0;
}