Pagini recente » Cod sursa (job #1979208) | Cod sursa (job #2338155) | Cod sursa (job #1152709) | Cod sursa (job #2902751) | Cod sursa (job #800074)
Cod sursa(job #800074)
#include<fstream>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int n,i,v[100002],D[100004],sol;
int main(){
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i];
}
D[1]=0;//nu iau din 1
D[2]=0;
D[3]=v[2]+v[3];
for(i=4;i<=n;i++)
{
D[i]=max(D[i-1],v[i]+v[i-1]+D[i-3]);
}
sol=D[n];
D[1]=0;//iau din 1 si 2
D[2]=v[1]+v[2];
D[3]=v[1]+v[2];
for(i=4;i<=n-1;i++)
{
D[i]=max(D[i-1],v[i]+v[i-1]+D[i-3]);
}
if(D[n-1]>sol)
sol=D[n-1];
v[n+1] = v[1];
for(i=1;i<=n;i++)
v[i]=v[i+1];
// v[n+2]=v[1]
D[1]=0;//nu iau din 1
D[2]=0;
D[3]=v[2]+v[3];
for(i=4;i<=n;i++)
{
D[i]=max(D[i-1],v[i]+v[i-1]+D[i-3]);
}
if(D[n]>sol)
sol=D[n];
g<<sol;
}