Pagini recente » Cod sursa (job #3195248) | Cod sursa (job #3209926) | Cod sursa (job #2662977) | Cod sursa (job #2802701) | Cod sursa (job #2041413)
#include <fstream>
using namespace std;
ifstream fi("oo.in");
ofstream fo("oo.out");
int n,i,S1[100001],S2[100001],SN[100001],X[100001];
int main()
{
fi>>n;
for(i=1;i<=n;i++)
fi>>X[i];
X[0]=X[n];
S1[1]=X[1]+X[n];
S1[2]=X[1]+X[2];
for(i=3;i<=n-1;i++)
S1[i]=max(S1[i-1],S1[i-3]+X[i-1]+X[i]);
S2[2]=X[2]+X[1];
S2[3]=X[2]+X[3];
for(i=4;i<=n;i++)
S2[i]=max(S2[i-1],S2[i-3]+X[i-1]+X[i]);
SN[0]=X[0]+X[n-1];
SN[1]=X[0]+X[1];
SN[2]=max(SN[1],X[1]+X[2]);
for(i=3;i<=n-2;i++)
SN[i]=max(SN[i-1],SN[i-3]+X[i-1]+X[i]);
fo<<max(S1[n-1],max(S2[n],SN[n-2]));
fi.close();
fo.close();
return 0;
}