Pagini recente » Cod sursa (job #3255663) | Cod sursa (job #196543) | Cod sursa (job #2479841) | Cod sursa (job #298403) | Cod sursa (job #2300166)
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n, i, v[100002], d[100002], maxim[100002], sol;
int main(){
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
maxim[3] = maxim[4] = d[2] = maxim[2] = v[1] + v[2];
for(i=5;i<=n-1;i++){
d[i] = maxim[i-3] + v[i] + v[i-1];
maxim[i] = max(maxim[i-1], d[i]);
}
sol = maxim[n-1];
maxim[4] = maxim[5] = d[3] = maxim[3] = v[2]+v[3];
for(i=6;i<=n;i++){
d[i] = maxim[i-3] + v[i] + v[i-1];
maxim[i] = max(maxim[i-1], d[i]);
}
sol = max(sol, maxim[n]);
maxim[1] = maxim[2] = maxim[3] = d[1] = v[n] + v[1];
for(i=4;i<=n-2;i++){
d[i] = maxim[i-3] + v[i] + v[i-1];
maxim[i] = max(maxim[i-1], d[i]);
}
fout<<max(sol, maxim[n-2]);
return 0;
}