Pagini recente » Cod sursa (job #1361670) | Cod sursa (job #1316317) | Cod sursa (job #1641439) | Cod sursa (job #1531807) | Cod sursa (job #2140311)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n, a[100005], dp[100005];
void Citire()
{
fin >> n;
for(int i = 1; i <= n; i++)
fin >> a[i];
}
void Rez()
{
int sol = 0;
dp[1] = a[n] + a[1];
dp[2] = dp[1];
for(int i = 3; i < n - 1; i++)
dp[i] = max(dp[i - 2] + a[i] + a[i + 1], dp[i - 1]);
sol = dp[n - 1];
dp[1] = 0;
dp[2] = a[1] + a[2];
dp[3] = dp[2];
for(int i = 4; i <= n; i++)
dp[i] = max(dp[i - 3] + a[i] + a[i + 1], dp[i - 2]);
sol = max(sol, dp[n]);
fout << sol << "\n";
}
int main()
{
Citire();
Rez();
return 0;
}