Pagini recente » Cod sursa (job #2153982) | Cod sursa (job #2119499)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int v[100005];
int dp[100005];
int n, sol;
int main(){
fin >> n;
for(int i = 1; i <= n; i++)
fin >> v[i];
dp[1] = 0;
dp[2] = v[1] + v[2];
dp[3] = 0;
for(int i = 4; i < n; i++)
dp[i] = max(dp[i-1], v[i] + v[i-1] + dp[i-3]);
sol = dp[n-1];
dp[1] = 0;
dp[2] = 0;
dp[3] = v[2] + v[3];
for(int i = 4; i <= n; i++)
dp[i] = max(dp[i-1], v[i] + v[i-1] + dp[i-3]);
sol = max(sol, dp[n]);
dp[1] = 0;
dp[2] = 0;
dp[3] = 0;
for(int i = 4; i < n - 1; i++)
dp[i] = max(dp[i-1], v[i] + v[i-1] + dp[i-3]);
sol = max(sol, dp[n-2] + v[1] + v[n]);
cout << sol;
fout << sol;
return 0;
}