Pagini recente » Borderou de evaluare (job #3303966) | Borderou de evaluare (job #1516116) | Borderou de evaluare (job #1555923) | Borderou de evaluare (job #2509588) | Cod sursa (job #3330955)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
const int nMax=1e5+5,MOD=777013,lg=10;
int t,n,m,k,x,y,z,a,b,c,d,cnt,ans,rez,sum,poz,len,len1,e,e1,h,w;
int v[nMax],dp[nMax];
bool ok;
char ch;
string s;
map<int,int>mp;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
fin>>n;
for(int i=1; i<=n; ++i)
fin>>v[i];
for(int i=3; i<=n; ++i)
dp[i]=max(dp[i-1],v[i]+v[i-1]+dp[i-3]);
ans=dp[n];
dp[2]=v[1]+v[2];
dp[3]=0;
for(int i=3; i<=n-1; ++i)
dp[i]=max(dp[i-1],v[i]+v[i-1]+dp[i-3]);
ans=max(ans,dp[n-1]);
dp[1]=v[1]+v[n];
dp[2]=0;
for(int i=3; i<=n-2; ++i)
dp[i]=max(dp[i-1],v[i]+v[i-1]+dp[i-3]);
ans=max(ans,dp[n-2]);
fout<<ans<<'\n';
}