Pagini recente » Cod sursa (job #2038647) | Cod sursa (job #374893) | Cod sursa (job #2617033) | Cod sursa (job #3250498) | Cod sursa (job #3032464)
#include <bits/stdc++.h>
using namespace std;
int v[100001], n, dp[100001];
ifstream fin("oo.in");
ofstream fout("oo.out");
void resetdp(){
for(int i=1; i<=n; i++){
dp[i]=0;
}
}
int solve(int s, int f){
for(int i=s; i<=f; i++){
dp[i]=max(v[i]+v[i-1]+dp[i-3], max(dp[i-2], dp[i-1]));
}
return dp[f];
}
int main(){
int ans=INT_MIN;
fin >> n;
for(int i=1; i<=n; i++){
fin >> v[i];
}
ans=max(ans, solve(5, n-1)+v[1]+v[2]);
resetdp();
ans=max(ans, solve(4, n-2)+v[n]+v[1]);
resetdp();
ans=max(ans, solve(6, n)+v[2]+v[3]);
resetdp();
ans=max(ans, solve(4, n));
fout << ans;
}