Pagini recente » Cod sursa (job #2332613) | Cod sursa (job #825944) | Diferente pentru info-oltenia-2018/individual/clasament/11-12 intre reviziile 2 si 1 | Monitorul de evaluare | Cod sursa (job #1282028)
#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[n+1]=v[1];
d[2]=v[1]+v[2];
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;
}