Pagini recente » Cod sursa (job #2321504) | Cod sursa (job #1386041) | Cod sursa (job #2806738) | Cod sursa (job #2132285) | Cod sursa (job #2986429)
#include <bits/stdc++.h>
#define M 100050
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int n, v[M], s[M], m[M], mx;
int main()
{
f>>n;
for(int i=1; i<=n; i++)f>>v[i];
for(int i=1; i<n; i++)s[i]=v[i]+v[i+1];
s[n]=v[1]+v[n];
for(int i=1; i<=9; i++)s[n+i]=s[i];
for(int i=6; i<=n+6; i++)
{
m[i]=max(m[i-3]+s[i],max(m[i-4]+s[i], m[i-5]+s[i]));
}
mx=max(mx, m[n+6]-s[n+6]);
for(int i=6; i<=n+6; i++)m[i]=0;
for(int i=7; i<=n+7; i++)
{
m[i]=max(m[i-3]+s[i],max(m[i-4]+s[i], m[i-5]+s[i]));
}
mx=max(mx, m[n+7]-s[n+7]);
for(int i=7; i<=n+7; i++)m[i]=0;
for(int i=8; i<=n+8; i++)
{
m[i]=max(m[i-3]+s[i],max(m[i-4]+s[i], m[i-5]+s[i]));
}
mx=max(mx, m[n+8]-s[n+8]);
g<<mx;
return 0;
}