Cod sursa(job #1325757)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 24 ianuarie 2015 12:38:34
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>
#define nmax 100005
using namespace std;

ifstream f ("oo.in");
ofstream g ("oo.out");
int n,sol;
int v[nmax];
int a[nmax];

void trying(int start, int sfarsit) {


    a[start]=0;
    a[start+1]=v[start]+v[start+1];

    for (int i=start+2;i<=sfarsit;i++)

                    a[i]=max(a[i-3] + v[i-1] + v[i], a[i - 1]);

    sol = max(a[sfarsit], sol);

}
int main() {

    f>>n;
    for (int i=1;i<=n;i++) f>>v[i];
    v[n+1] =v[1];

    trying(1, n - 1);
    trying(2, n);
    trying(3, n + 1);

    g<<sol<<'\n';
    return 0;
}