Cod sursa(job #3295752)

Utilizator DavidCristeaCristea David DavidCristea Data 8 mai 2025 10:33:55
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>

using namespace std;

ifstream cin("oo.in");
ofstream cout("oo.out");

int v[200001],d1[100001], d2[100001], d3[100001];

int main()
{
    int n,i,s, maxi=0;
    cin>>n;
    for(i=1; i<=n; i++)
        cin>>v[i];
	if(n==2)
    {
        cout<<v[1]+v[2];
        return 0;
    }
    d1[1]=v[1];
    d1[2]=v[1]+v[2];
    v[0]=v[n];
    for(i=3; i<n; i++)
    {
        s=v[i]+v[i-1];
        d1[i]=max(s+d1[i-3], d1[i-1]);
    }
    maxi=d1[n-1];
    d2[n]=0;
    d2[1]=v[n]+v[1];
    d2[2]=d2[1];
    for(i=3; i<=n-2; i++)
	{
		d2[i]=max(v[i]+v[i-1]+d2[i-3], d2[i-1]);
	}
	maxi=max(maxi,d2[n-2]);
	d3[2]=0;
	d3[3]=v[2]+v[3];
	d3[4]=d3[3];
	for(i=5; i<=n; i++)
	{
		d3[i]=max(v[i]+v[i-1]+d3[i-3], d3[i-1]);
	}
	maxi=max(maxi,d3[n]);
	cout<<maxi;
    return 0;
}