Cod sursa(job #1106824)

Utilizator diana97Diana Ghinea diana97 Data 13 februarie 2014 11:13:32
Problema Oo Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f ("oo.in");
ofstream g ("oo.out");

int n, sol;
int v[100000], best[100003];

void citeste () {
    f >> n;
    int x;
    for (int i = 1; i <= n; i++) f >> v[i];
    v[n + 1] = v[1];
}

void rezolva (int a, int b) {
    best[a] = 0;
    best[a + 1] = v[a] + v[a + 1];
    for (int i = a + 2; i <= b; i++)
        best[i] = max (best[i-1], best[i-3] + v[i] + v[i-1]);
    if (best[b] > sol) sol = best[b];
}


int main () {
    citeste ();
    rezolva (1, n-1);
    rezolva (2, n);
    rezolva (3, n+1);
    g << sol << '\n';
    return 0;
}