Cod sursa(job #2422303)

Utilizator verde.cristian2005Verde Flaviu-Cristian verde.cristian2005 Data 18 mai 2019 13:03:20
Problema Oo Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int v[100001],d[100001][2];
int main()
{
    int i,n,max1=0;
    in>>n;
    for(i=1; i<=n; i++)
        in>>v[i];
    ///il luam pe primul
    d[2][1]=v[1]+v[2];
    for(i=3; i<=n-1; i++)
    {
        d[i][1]=max(max(d[i-2][0],d[i-3][0]),d[i-4][0])+v[i]+v[i-1];
        d[i][0]=max(d[i-1][1],d[i-1][0]);
    }
    max1=max(max1,max(d[n-1][1],d[n-1][0]));
    ///nu-l luam pe primul
    for(i=1; i<=n; i++)
        d[i][1]=d[i][0]=0;
    d[3][1]=v[2]+v[3];
    for(i=4; i<=n; i++)
    {
        d[i][1]=max(max(d[i-2][0],d[i-3][0]),d[i-4][0])+v[i]+v[i-1];
        d[i][0]=max(d[i-1][1],d[i-1][0]);
    }
    out<<max(max1,max(d[n][1],d[n][0]));
    return 0;
}