Cod sursa(job #2467046)

Utilizator Vlad.Vlad Cristian Vlad. Data 3 octombrie 2019 16:47:45
Problema Oo Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 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) {
    d[st] = 0;
    d[st + 1] = oua[st + 1] + oua[st];
    for (int i = st + 2; i <= fi; ++i) {
        d[i] = max(oua[i] + oua[i - 1] + d[i - 3], d[i - 1]);
    }
    return d[fi];
}
int main()
{
    oua[n + 1] = oua[1];
    citire();
    int d1 = dinamica(1, n - 1);
    int d2 = dinamica(2, n);
    int d3 = dinamica(3, n + 1);
    fout << max(d1, max(d2, d3)) << "\n";
    return 0;
}