Cod sursa(job #2046076)

Utilizator lulian23Tiganescu Iulian lulian23 Data 23 octombrie 2017 13:30:06
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
#define nmax 100000 + 2
#define in "oo.in"
#define out "oo.out"

using namespace std;

int v[ nmax ], a[ nmax ], n, maxx;

int main()
{
    freopen(in, "r", stdin);
    freopen(out, "w", stdout);

    scanf("%d", &n);

    for (int i = 1; i <= n; i++)
        scanf("%d", &v[ i ]);

    v[ n + 1 ] = v[ 1 ];

    for (int i = 1; i <= 3; i++){

        for (int j = i + 1; j <= n - 2 + i; j++){
            a[ j ] = v[ j ] + v[ j - 1 ];

           for (int k = j - 3; k >= j - 5 && k > i; k--)
            a[ j ] = max(a[ j ], v[ j ] + v[ j - 1 ] + a[ k ]);

           maxx = max(maxx, a[ j ]);
        }
    }

    printf("%d", maxx);
}