Cod sursa(job #2300215)

Utilizator mirceaisherebina mircea mirceaishere Data 10 decembrie 2018 23:06:51
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");

int n, m, i, j, s1, s2, s3;
int v[100002],d[100002];
int main(){
    fin>>n;
    for(i=1; i<=n; i++){
        fin>>v[i];
    }
    d[1]=0;
    d[2]=v[1]+v[2];
    d[3]=max(v[3]+v[2], d[2]);
    for(i=4; i<=n; i++){
        d[i]=max(d[i-3]+v[i]+v[i-1], d[i-1]);
    }
    s1=d[n-1];

    d[1]=v[n]+v[1];
    d[2]=max(v[1]+v[n], v[1]+v[2]);
    d[3]=max(v[2]+v[3], d[2]);
    for(i=4; i<=n; i++){
        d[i]=max(d[i-3]+v[i]+v[i-1], d[i-1]);
    }
    s2=d[n-2];

    d[1]=0;
    d[2]=0;
    d[3]=max(v[2]+v[3], d[2]);
    for(i=4; i<=n; i++){
        d[i]=max(d[i-3]+v[i]+v[i-1], d[i-1]);
    }
    s3=d[n];

    fout<<max(s1, max(s2, s3));
}