Cod sursa(job #1137313)

Utilizator iuli33Iuliana iuli33 Data 9 martie 2014 12:37:10
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");

int n, v[100002], suma[100002], mx;

void citire(){
    in>>n;
    for (int i=1; i<=n; i++)
        in>>v[i];
    v[n+1]=v[1];
}

int maxim(int s, int d){
    for (int i=1; i<=n+1; i++)
        suma[i]=0;
    suma[s]=0;
    suma[s+1]=v[s]+v[s+1];
    suma[s+2]=max(suma[s+1], v[s+2]);
    for (int i=s+3; i<=d; i++){
        suma[i]=max(suma[i-1], suma[i-3]+v[i-1]+v[i]);
    }
    for (int i=d-4; i<=d; i++)
        if (suma[i]>mx)
            mx=suma[i];
}

int main(){
    citire();
    maxim(1, n-1);
    maxim(2, n);
    maxim(3, n+1);
    out<<mx<<'\n';
    return 0;
}