Pagini recente » Rating Tudor Barbacaru-Stefan (melondoom) | Cod sursa (job #1883006) | Cod sursa (job #542720) | Cod sursa (job #1572597) | Cod sursa (job #3213918)
#include <bits/stdc++.h>
#define ror( i, a, b) for( int i = a; i<b; i++)
using namespace std;
ifstream fin("oo.in"); ofstream fout("oo.out");
int v[100001], dp[100001], sol, n;
int main()
{
fin >> n;
ror( i, 1, n+1)
fin >> v[i];
dp[1] = 0;
dp[2] = v[2] + v[1];
dp[3] = dp[4] = dp[2];
ror( i, 1, n)
dp[i] = max( dp[i - 1], v[i] + v[i - 1] + dp[i - 1]);
sol = dp[n - 1];
dp[1] = dp[2] = 0;
dp[3] = v[3] + v[2];
dp[4] = dp[5] = dp[3];
ror( i, 6, n+1)
dp[i] = max( dp[i - 1], v[i] + v[i - 1] + dp[i - 1]);
sol = max( sol, dp[n]);
dp[1] = v[1] + v[n];
dp[2] = dp[3] = dp[1];
ror( i, 4, n-2)
dp[i] = max( dp[i - 1], v[i] + v[i - 1] + dp[i - 1]);
sol = max( sol, dp[n - 2]);
fout << sol;
}