Pagini recente » Cod sursa (job #431439) | Cod sursa (job #3144853) | Cod sursa (job #2776443) | Cod sursa (job #1767197) | Cod sursa (job #2453867)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("oo.in");
ofstream g ("oo.out");
int n;
int sum[100001][4];
int vek[100001];
int main()
{
f>>n;
for(int i=1;i<=n;++i)
{
f>>vek[i];
}
vek[n+1]=vek[1];
vek[n+2]=vek[2];
if(n==2)
{
g<<vek[1]+vek[2];
return 0;
}
sum[3][1] = vek[2]+vek[3];
sum[3][2] = vek[3]+vek[1];
sum[3][3] = vek[1]+vek[2];
for(int i=4;i<=n;++i)
{
sum[i][1]=max(sum[i-1][1], sum[i-3][1]+vek[i]+vek[i-1]);
}
for(int i=4;i<=n+1;++i)
{
sum[i][2]=max(sum[i-1][2], sum[i-3][2]+vek[i]+vek[i-1]);
}
for(int i=4;i<=n+2;++i)
{
sum[i][2]=max(sum[i-1][2], sum[i-3][2]+vek[i]+vek[i-1]);
}
g<<max(sum[n][1], max(sum[n][2], sum[n][3]));
return 0;
}