Cod sursa(job #1933814)

Utilizator o_micBianca Costin o_mic Data 20 martie 2017 22:38:00
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
#include <cstring>
#define DN 100005
#define LL long long
using namespace std;
 
 
ifstream fin("oo.in");
ofstream fout("oo.out");
   
// ifstream fin("input.txt");
// ofstream fout("output.txt");

int dp[DN], a[DN];

int main() {
    int n, ind, res = 0;
    fin >> n;
    for (int i = 0; i < n; ++i) {
        fin >> a[i];
    }

    if (n == 2) {
        fout << a[0] + a[1];
        return 0;
    }

    for (int st = 0; st < 3; ++st) {
        for (int i = 3; i <= n; ++i) {
            ind = (st + i-2) % n;
            dp[i] = max(dp[i-1], a[ind] + a[(ind-1 + n) % n] + dp[i-3]);
        }
        res = max(res, dp[n]);
    }
    fout << res;
    return 0;
}