Pagini recente » Cod sursa (job #549721) | Cod sursa (job #1863756) | Cod sursa (job #1441582) | Cod sursa (job #3243395) | Cod sursa (job #3269126)
#include <bits/stdc++.h>
using namespace std;
#define INFILE "oo.in"
#define OUTFILE "oo.out"
const int N_MAX = 25e3;
int n;
int v[N_MAX + 5];
int operatie(int index){
int d[N_MAX + 5];
memset(d, 0, sizeof d);
for(int i = index + 1; i < index + n - 1; ++i){
if(i - 3 < 0){
d[i] = max(d[i - 1], d[0] + v[i - 1] + v[i]);
}
else{
d[i] = max(d[i - 1], d[i - 3] + v[i - 1] + v[i]);
}
}
return d[index + n - 2];
}
void solve(){
cin >> n;
for(int i = 1; i <= n; ++i) cin >> v[i];
v[n + 1] = v[1];
int sum1 = operatie(1);
int sum2 = operatie(2);
int sum3 = operatie(3);
cout << max(sum1, max(sum2, sum3)) << '\n';
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
freopen(INFILE, "r", stdin);
freopen(OUTFILE, "w", stdout);
solve();
return 0;
}