Cod sursa(job #3295751)

Utilizator NastureNasture Anca Nasture Data 8 mai 2025 10:21:16
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int dp1[100001],dp2[100001],dp3[100001],v[100001];
int main()
{
    int n,maxi=0;
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>v[i];
    if(n==2)
    {
        fout<<v[1]+v[2];
        return 0;
    }
    ///v[1],v[n]
    dp1[1]=v[1]+v[n];
    for(int i=3;i<=n-2;i++)
        dp1[i]=max(dp1[i-3]+v[i]+v[i-1],dp1[i-1]);
    maxi=dp1[n-2];
    /// v[1], v[2]
    dp2[2]=v[1]+v[2];
    for(int i=3;i<=n-1;i++)
        dp2[i]=max(dp2[i-3]+v[i]+v[i-1],dp2[i-1]);
    maxi=max(maxi,dp2[n-1]);
    ///v[2], v[3]
    dp3[3]=v[2]+v[3];
    for(int i=4;i<=n;i++)
        dp3[i]=max(dp3[i-3]+v[i]+v[i-1],dp3[i-1]);
    maxi=max(maxi,dp3[n]);
    fout<<maxi;
    return 0;
}