Pagini recente » Cod sursa (job #2839804) | Cod sursa (job #3255253) | Cod sursa (job #935593) | Cod sursa (job #2151918) | Cod sursa (job #794951)
Cod sursa(job #794951)
#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;i++)
{
D[i]=max(D[i-1],v[i]+v[i-1]+D[i-3]);
}
if(D[n-1]>sol)
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;
}