Pagini recente » Cod sursa (job #1446917) | Cod sursa (job #2318367) | Cod sursa (job #518939) | Cod sursa (job #674693) | Cod sursa (job #3031584)
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
const int Nmax = 100005;
int v[Nmax],dp[Nmax];
int main()
{
int N,i,nmax;
fin >> N;
for(i=1;i<=N;i++)
fin >> v[i];
for(i=5;i<N;i++)
dp[i] = max(dp[i-3]+v[i-1]+v[i], dp[i-1]);
nmax = dp[N-1]+v[1]+v[2];
for(i=1;i<=N;i++)
dp[i] = 0;
for(i=4;i<=N-2;i++)
dp[i] = max(dp[i-3]+v[i-1]+v[i], dp[i-1]);
nmax = max(nmax, dp[N-2]+v[N]+v[1]);
for(i=1;i<=N;i++)
dp[i] = 0;
for(i=6;i<=N;i++)
dp[i] = max(dp[i-3]+v[i-1]+v[i], dp[i-1]);
nmax = max(nmax, dp[N]+v[2]+v[3]);
for(i=1;i<=N;i++)
dp[i] = 0;
for(i=4;i<=N;i++)
dp[i] = max(dp[i-3]+v[i-1]+v[i], dp[i-1]);
nmax = max(nmax, dp[N]);
fout << nmax;
return 0;
}