Cod sursa(job #2849364)

Utilizator MihaiCostacheCostache Mihai MihaiCostache Data 14 februarie 2022 23:26:39
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>

using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
///d1=nr maxim de oua adunate incepand cu sectoarele 1 2
///d2=nr maxim de oua adunate incepand cu sectoarele n 1
///d3=nr maxim de oua adunate incepand cu sectoarele 2 3
int n, v[100001], d1[100001], d2[100001], d3[100001];
int main()
{
    fin>>n;
    for(int i=1; i<=n; i++)
    {
        fin>>v[i];
    }
    d1[2]=d1[3]=v[1]+v[2];
    d2[1]=v[n]+v[1];
    d3[3]=v[2]+v[3];
    for(int i=4; i<=n; i++)
    {
        if(i<n-1)
        {
            d2[i]=max(d2[i-1], d2[i-3]+v[i]+v[i-1]);
        }
        if(i<n)
        {
            d1[i]=max(d1[i-1], d1[i-3]+v[i]+v[i-1]);
        }
        d3[i]=max(d3[i-1], d3[i-3]+v[i]+v[i-1]);
    }
    fout<<max(d1[n-1], max(d3[n], d2[n-2]));
    return 0;
}