Cod sursa(job #3291697)

Utilizator SfichiAndreiSfichi Andrei SfichiAndrei Data 5 aprilie 2025 12:53:49
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("oo.in");
ofstream fout ("oo.out");
int N,rez;
int v[100009],sum[100009];
int main()
{
    fin>>N;
    for(int i=1;i<=N;i++)
    {
        fin>>v[i];
    }
    ///caz 1: luam 1 si 2
    sum[2]=sum[3]=sum[4]=v[1]+v[2];
    for(int i=5;i<N;i++)
    {
        sum[i]=max(v[i]+v[i-1]+sum[i-3],sum[i-1]);
    }
    rez=sum[N-1];
    ///caz 2: nu luam 1
    sum[3]=sum[4]=sum[5]=v[2]+v[3];
    for(int i=6;i<=N;i++)
    {
        sum[i]=max(v[i]+v[i-1]+sum[i-3],sum[i-1]);
    }
    rez=max(rez,sum[N]);
    ///caz 3: luam 1 si N
    sum[1]=sum[2]=sum[3]=v[1]+v[N];
    for(int i=4;i<N-1;i++)
    {
        sum[i]=max(v[i]+v[i-1]+sum[i-3],sum[i-1]);
    }
    rez=max(rez,sum[N-2]);
    fout<<rez;
    return 0;
}