Pagini recente » Cod sursa (job #548115) | Cod sursa (job #1831638) | Cod sursa (job #375507) | Cod sursa (job #491582) | Cod sursa (job #2096309)
#include<fstream>
using namespace std;
ifstream in ("oo.in");
ofstream out ("oo.out");
int d[100001],v[100001],n,maxim;
void functie (int a, int b) {
d[a+1] = v[a] + v[a+1];
d[a] = 0; d[a-1] = 0;
for (int i = a+2; i <= b; i ++) {
if (d[i-3]+v[i]+v[i-1] > d[i-1]) {
d[i] = d[i-3] + v[i] + v[i-1];
}
else {
d[i] = d[i-1];
}
}
}
int main (void) {
in >> n;
for (int i = 1; i <= n; i ++) {
in >> v[i];
}
functie (1,n-1);
maxim = max (maxim, d[n-1]);
functie (2,n);
maxim = max (maxim, d[n]);
functie (3,n-2);
maxim = max (maxim, d[n-2] + v[1] + v[n]);
out << maxim;
return 0;
}