Pagini recente » Cod sursa (job #2033465) | Cod sursa (job #755215) | Cod sursa (job #239816) | Cod sursa (job #292347) | Cod sursa (job #2656733)
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
const int nmax=100000;
int v[nmax+2],d[nmax+1];
int main(){
int n;
fin>>n;
for(int i=1;i<=n;i++){
fin>>v[i];
}
v[n+1]=v[1];
d[1]=0;
d[2]=0;
d[3]=0;
d[4]=v[2]+v[3];
for(int i=5;i<=n+1;i++){
d[i]=max(d[i-1],d[i-3]+v[i-2]+v[i-1]);
}
int sol=0;
if(sol<d[n+1])
sol=d[n+1];
d[1]=0;
d[2]=0;
d[3]=v[1]+v[2];
for(int i=4;i<=n;i++){
d[i]=max(d[i-1],d[i-3]+v[i-2]+v[i-1]);
}
if(sol<d[n])
sol=d[n];
d[1]=0;
d[2]=v[n]+v[1];
for(int i=3;i<n;i++){
d[i]=max(d[i-1],d[i-3]+v[i-2]+v[i-1]);
}
if(sol<d[n-1])
sol=d[n-1];
fout<<sol;
return 0;
}