Pagini recente » Cod sursa (job #781497) | Cod sursa (job #1279389) | Cod sursa (job #2095691) | Cod sursa (job #1764062) | Cod sursa (job #2040434)
#include <fstream>
#define lim 100003
using namespace std;
ifstream f ("oo.in");
ofstream g ("oo.out");
int n,x,v[lim],v1[lim];
void read ()
{
f>>n;
for (int i=1;i<=n;++i)
f>>v[i];
}
int formatare_1 ()
{
v1[2]=v[1]+v[2];
v1[3]=v1[2];
v1[4]=v1[2];
for (int i=5;i<n;++i)
v1[i]=max(v1[i-1],v[i]+v[i-1]+v1[i-3]);
return v1[n-1];
}
int formatare_2 ()
{
v1[0]=0;
v1[1]=0;
v1[2]=0;
for (int i=3;i<=n;++i)
v1[i]=max(v1[i-1],v[i]+v[i-1]+v1[i-3]);
return v1[n];
}
int formatare_3 ()
{
v1[1]=v[1]+v[n];
v1[2]=v1[1];
v1[3]=v1[1];
for (int i=4;i<n-1;++i)
v1[i]=max(v1[i-1],v[i]+v[i-1]+v1[i-3]);
return v1[n-2];
}
int main()
{
read();
int result=max(formatare_1(),formatare_2());
result=max(result,formatare_3());
g<<result;
return 0;
}