Cod sursa(job #2293595)

Utilizator radugheoRadu Mihai Gheorghe radugheo Data 1 decembrie 2018 11:57:52
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#define DIM 100005

using namespace std;

ifstream fin  ("oo.in");
ofstream fout ("oo.out");

int n, i, sol;
int v[DIM], d[DIM];

int main(){
    fin >> n;
    for (i=1; i<=n; i++){
        fin >> v[i];
    }
    d[1] = v[1], d[2] = v[1] + v[2]; /// cand incep de la 1 si nu il iau pe ultimul
    for (i=3; i<n; i++){
        d[i] = max (v[i] + v[i-1] + d[i-3], d[i-1]);
    }
    sol = d[n-1];
    d[1] = 0, d[2] = v[2], d[3] = v[2] + v[3]; /// cand incep de la 2 si nu il iau pe primul
    for (i=4; i<=n; i++){
        d[i] = max (v[i] + v[i-1] + d[i-3], d[i-1]);
    }
    sol = max (sol, d[n]);
    d[1] = d[2] = v[1] + v[n]; /// cand il iau si pe primul si pe ultimul
    for (i=2; i<n-1; i++){
        d[i] = max (v[i] + v[i-1] + d[i-3], d[i-1]);
    }
    sol = max (sol, d[n-2]);
    fout << sol;
    return 0;
}