Cod sursa(job #2509046)

Utilizator filiptudose2007Tudose Filip filiptudose2007 Data 13 decembrie 2019 18:15:55
Problema Oo Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int m1,m2,m3,dp[100005],n,a[100005],i,maxi;
int func()
{
        m1=dp[1];
    m2=max(dp[2],m1);
    m3=max(dp[3],m2);
        for (i=4;i<n-1;++i)
    {
        dp[i]=m1+a[i]+a[i+1];
        m1=m2;
        m2=m3;
        m3=max(m3,dp[i]);
    }
   return m3;
}
int main()
{
    in>>n;
    for (i=1;i<=n;++i)
    {
        in>>a[i];
    }
    dp[1]=a[1]+a[2];
    dp[2]=a[2]+a[3];
    dp[3]=a[3]+a[4];
    maxi=max(maxi,func());
    dp[1]=a[1]+a[n];
    dp[2]=a[1]+a[2];
    dp[3]=a[2]+a[3];
    maxi=max(maxi,func());
    dp[1]=a[n-1]+a[n];
    dp[2]=a[n]+a[1];
    dp[3]=a[1]+a[2];
    maxi=max(maxi,func());
    out<<maxi;
    return 0;
}

///Sursa ii apartine copilului Stefan Savu