Pagini recente » Cod sursa (job #2731098) | Cod sursa (job #365531) | Cod sursa (job #2671345) | Cod sursa (job #911070) | Cod sursa (job #2073841)
#include <fstream>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
const int Nmax=100000;
int N,maxx;
int V[Nmax+5],D[Nmax+5];
void sol(int inceput,int sfarsit)
{
D[inceput]=0;
D[inceput+1]=V[inceput]+V[inceput+1];
for(int i=inceput+2;i<=sfarsit;++i)
D[i]=max(D[i-1],D[i-3]+V[i-1]+V[i]);
maxx=max(maxx,D[sfarsit]);
}
int main()
{
f>>N;
for(int i=1;i<=N;++i)
f>>V[i];
V[N+1]=V[1];
sol(1,N-1);
sol(2,N);
sol(3,N+1); g<<maxx<<'\n';
return 0;
}