Cod sursa(job #3211832)

Utilizator lazureanrLazurean Razvan lazureanr Data 10 martie 2024 14:39:28
Problema Oo Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");

int n,a[100005];
long long sol1,sol2,dp[100005];

long long maxim(long long a,long long b)
{
    if(a>b)
    {
        return a;
    }
    return b;
}

int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    dp[1]=0;
    dp[2]=a[1]+a[2];
    for(int i=1;i<n;i++)
    {
        dp[i]=maxim(dp[i-1],a[i]+a[i-1]+dp[i-3]);
    }
    sol1=dp[n-1];
    dp[1]=0;
    dp[2]=0;
    for(int i=3;i<=n;i++)
    {
        dp[i]=maxim(dp[i-1],dp[i-3]+a[i-1]+a[i]);
    }
    fout<<maxim(sol1,sol2);
    return 0;
}