Cod sursa(job #1417247)

Utilizator alittlezzCazaciuc Valentin alittlezz Data 9 aprilie 2015 22:41:12
Problema Oo Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#include <algorithm>
#include <math.h>
using namespace std;

int d[4][100005];

int main() {
    int n, i, result, x, y;
    ifstream f("oo.in");
    ofstream g("oo.out");
    f >> n;
    result = 0;
    for(i = 1; i <= n; i++) {
        f >> d[0][i];
    }
    d[0][n + 1] = d[0][1];
    d[1][2] = d[0][1] + d[0][2];
    for(i = 3; i < n; i++) {
        x = d[1][i - 1];
        y = d[1][i - 3] + d[0][i - 1] + d[0][i];
        d[1][i] = max(x, y);
    }
    result = max(result, d[1][n - 1]);
    for(i = 3; i <= n; i++) {
        x = d[2][i - 1];
        y = d[2][i - 3] + d[0][i - 1] + d[0][i];
        d[2][i] = max(x, y);
    }
    result = max(result, d[2][n]);
    for(i = 3; i < n; i++) {
        x = d[3][i - 1];
        y = d[3][i - 3] + d[0][i - 1] + d[0][i];
        d[3][i] = max(x, y);
    }
    result = max(result, d[3][n + 1]);
    g << result;
}