Cod sursa(job #2767387)

Utilizator DragosC1Dragos DragosC1 Data 5 august 2021 22:49:09
Problema Oo Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <iostream>
using namespace std;

int a[100001];
int dp1[100001], dp2[100001];
int n;

void read() {
    int i;
    ifstream f("oo.in");
    f >> n;
    for (i = 1; i <= n; i++) 
        f >> a[i];
    f.close();
}

void solve() {
    int i;
    for (i = 3; i <= n; i++)
        dp1[i] = max(dp1[i - 1], dp1[i - 3] + a[i] + a[i - 1]);
    for (i = 2; i < n; i++)
        dp2[i] = max(dp2[i - 1], (i - 3 >= 0 ? dp2[i - 3] : 0) + a[i] + a[i - 1]);
}

void output() {
    ofstream g("oo.out");
    g << max(dp1[n], dp2[n - 1]);
    g.close();
}

int main() {
    read();
    solve();
    output();
    return 0;
}