Pagini recente » Cod sursa (job #2598488) | Cod sursa (job #1128374) | Cod sursa (job #686240) | Cod sursa (job #2923008) | Cod sursa (job #1137313)
#include<iostream>
#include<fstream>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int n, v[100002], suma[100002], mx;
void citire(){
in>>n;
for (int i=1; i<=n; i++)
in>>v[i];
v[n+1]=v[1];
}
int maxim(int s, int d){
for (int i=1; i<=n+1; i++)
suma[i]=0;
suma[s]=0;
suma[s+1]=v[s]+v[s+1];
suma[s+2]=max(suma[s+1], v[s+2]);
for (int i=s+3; i<=d; i++){
suma[i]=max(suma[i-1], suma[i-3]+v[i-1]+v[i]);
}
for (int i=d-4; i<=d; i++)
if (suma[i]>mx)
mx=suma[i];
}
int main(){
citire();
maxim(1, n-1);
maxim(2, n);
maxim(3, n+1);
out<<mx<<'\n';
return 0;
}