Pagini recente » Cod sursa (job #1421772) | Cod sursa (job #1676340) | Cod sursa (job #2792366) | Cod sursa (job #2174383) | Cod sursa (job #1225211)
#include <fstream>
#include <string.h>
#define NMax 100010
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int n, v[NMax], i, d[NMax], Max=-1;
int main()
{
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
v[0]=v[n];
v[n+1]=v[1];
d[2]=v[2]+v[3];
for (i=3; i<=n-1; i++) {
d[i]=max(d[i-1], d[i-3]+v[i]+v[i-1]);
if (Max < d[i])
Max = d[i];
}
memset(d, 0, sizeof(d));
d[3]=v[2]+v[3];
for (i=4; i<=n; i++) {
d[i]=max(d[i-1], d[i-3]+v[i]+v[i-1]);
if (Max < d[i])
Max = d[i];
}
memset(d, 0, sizeof(d));
d[4]=v[3]+v[4];
for (i=5; i<=n+1; i++) {
d[i]=max(d[i-1], d[i-3]+v[i]+v[i-1]);
if (Max < d[i])
Max = d[i];
}
g<<Max;
return 0;
}