Pagini recente » Cod sursa (job #646749) | Ciorna | Cod sursa (job #1931448) | Cod sursa (job #1869545) | Cod sursa (job #2007241)
#include <fstream>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int v[100005],best[100005];
int main()
{
int N,res,i;
in >> N;
for (i = 1; i<=N; i++)
in >> v[i];
// iau 1 si 2
best[2] = best[3] = best[4] = v[1]+v[2];
for(i = 5; i < N; i++)
best[i] = max(best[i-1], v[i]+v[i-1]+best[i-3]);
res = best[N-1];
// nu iau 1 si 2
best[0] = best[1] = best[2] = 0;
for(i = 3; i <= N; i++)
best[i] = max(best[i-1], v[i]+v[i-1]+best[i-3]);
res = max(res, best[N]);
// iau 1 si N
best[1] = best[2] = best[3] = v[1]+v[N];
for(i = 4; i < N-1; i++)
best[i] = max(best[i-1], v[i]+v[i-1]+best[i-3]);
res = max(res, best[N-2]);
out << res;
}