Cod sursa(job #2986429)

Utilizator MacraAlexandruMacra Alexandru MacraAlexandru Data 28 februarie 2023 17:01:54
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>
#define M 100050
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int n, v[M], s[M], m[M], mx;
int main()
{
    f>>n;
    for(int i=1; i<=n; i++)f>>v[i];
    for(int i=1; i<n; i++)s[i]=v[i]+v[i+1];
    s[n]=v[1]+v[n];
    for(int i=1; i<=9; i++)s[n+i]=s[i];
    for(int i=6; i<=n+6; i++)
    {
        m[i]=max(m[i-3]+s[i],max(m[i-4]+s[i], m[i-5]+s[i]));

    }
    mx=max(mx, m[n+6]-s[n+6]);
    for(int i=6; i<=n+6; i++)m[i]=0;
    for(int i=7; i<=n+7; i++)
    {
        m[i]=max(m[i-3]+s[i],max(m[i-4]+s[i], m[i-5]+s[i]));
    }
    mx=max(mx, m[n+7]-s[n+7]);
    for(int i=7; i<=n+7; i++)m[i]=0;
    for(int i=8; i<=n+8; i++)
    {
        m[i]=max(m[i-3]+s[i],max(m[i-4]+s[i], m[i-5]+s[i]));
    }
    mx=max(mx, m[n+8]-s[n+8]);
    g<<mx;
    return 0;
}