Pagini recente » Cod sursa (job #621580) | Rating Dorin Puscasu (dorinpuscasu) | Cod sursa (job #2333447) | Cod sursa (job #255245) | Cod sursa (job #2490881)
#include <bits/stdc++.h>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int N, a[100003], din[100003];
inline int solve(int st, int dr) {
din[st] = 0;
din[st + 1] = a[st] + a[st + 1];
for(int i = st + 2; i <= dr; i++)
din[i] = max(din[i - 1], din[i - 3] + a[i - 1] + a[i]);
return din[dr];
}
int main() {
f >> N;
for(int i = 1; i <= N; i++)
f >> a[i];
a[0] = a[N];
a[N + 1] = a[1];
g << max(solve(1, N - 1), max(solve(2, N), solve(3, N + 1))) << "\n";
return 0;
}