Cod sursa(job #3212168)

Utilizator degoCozma Diego dego Data 11 martie 2024 11:19:37
Problema Oo Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int v[200002],n,dp[100002],s;
int ver()
{
    for(int i=1;i<=n;i++)
        if(dp[i]!=0 && dp[i-1]!=0)
        return 0;
    return 1;
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    f>>n;
    for(int i=1; i<=n; i++)
        f>>v[i];
    v[0]=v[n];
    for(int i=1; i<=n; i++)
        dp[i]=v[i-1]+v[i];
    while(ver()!=1)
    {
        int maxx=n+1;
        for(int i=1;i<=n;i++)
            if(dp[i]>dp[maxx])
            {
                maxx=i;
            }
        s+=dp[maxx];
        if(maxx==1)
        {
            dp[0]=0;
            dp[1]=0;
            dp[n]=0;
            dp[2]=0;
            dp[n-1]=0;
        }
        else
        {
            if(maxx==2)
            {
                dp[1]=dp[n]=dp[2]=dp[3]=0;
            }
            else
            {
                if(maxx==n)
                    dp[1]=dp[n]=dp[n-1]=dp[n-1]=0;
                else
                    dp[maxx]=dp[maxx+1]=dp[maxx-1]=dp[maxx-2]=0;
            }
        }

    }
      g<<s;
    return 0;
}