Pagini recente » Cod sursa (job #994523) | Cod sursa (job #244206) | Cod sursa (job #2543578) | Cod sursa (job #803169) | Cod sursa (job #2121606)
#include <fstream>
using namespace std;
ifstream cin ("oo.in");
ofstream cout ("oo.out");
int val[100100];
int dp[100100][2];
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
for (int i=1; i<=n; i++){
cin>>val[i];
}
for (int i=1; i<=n; i++){
dp[i][0] = max (dp[i-1][0] , dp[i-2][1]);
dp[i][1] = dp[i-1][0] + val[i] + val[i+1];
}
int st = dp[n][0];
for (int i=1; i<=n; i++){
dp[i][0] = 0;
dp[i][1] = 0;
}
for (int i=n; i>=1; i--){
dp[i][0] = max (dp[i+1][0] , dp[i+2][1]);
dp[i][1] = dp[i+1][0] + val[i] + val[i-1];
}
int dr = dp[1][0];
cout<<max(st , dr);
return 0;
}