Pagini recente » Cod sursa (job #517706) | Cod sursa (job #1148603) | Cod sursa (job #2872143) | Cod sursa (job #2935658) | Cod sursa (job #3199284)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int d[100003], A[100003], A2[100004], A3[100005];
int ans = -1;
int main()
{
int n;
fin >> n;
for(int i=1; i<=n; i++){
fin >> A[i];
A2[i + 1] = A3[i + 2] = A[i];
}
A2[1] = A[n];
A2[2] = A[1];
A3[1] = A[n - 1];
A3[2] = A[n];
d[2] = A[1] + A[2];
for(int i=3; i<n; i++){
d[i] = max(d[i-1], d[i-3] + A[i-1] + A[i]);
}
d[n] = d[n - 1];
ans = max(ans, d[n]);
d[2] = A2[1] + A2[2];
for(int i=3; i<n; i++){
d[i] = max(d[i-1], d[i-3] + A2[i-1] + A2[i]);
}
d[n] = d[n - 1];
ans = max(ans, d[n]);
d[2] = A3[1] + A3[2];
for(int i=3; i<n; i++){
d[i] = max(d[i-1], d[i-3] + A3[i-1] + A3[i]);
}
d[n] = d[n - 1];
ans = max(ans, d[n]);
fout << ans << '\n';
return 0;
}