Cod sursa(job #2467052)

Utilizator Vlad.Vlad Cristian Vlad. Data 3 octombrie 2019 16:53:46
Problema Oo Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int oua[100010], n, d[100010];
void citire() {
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> oua[i];
    }
}
int dinamica(int st, int fi, int v[], int dy[]) {
    dy[st] = 0;
    dy[st + 1] = v[st + 1] + v[st];
    for (int i = st + 2; i <= fi; ++i) {
        dy[i] = max(v[i] + v[i - 1] + dy[i - 3], dy[i - 1]);
    }
    return d[fi];
}
int main()
{
    oua[n + 1] = oua[1];
    citire();
    int d1 = dinamica(1, n - 1, oua, d);
    int d2 = dinamica(2, n, oua, d);
    int d3 = dinamica(3, n + 1, oua, d);
    fout << max(d1, max(d2, d3)) << "\n";
    return 0;
}