Pagini recente » Cod sursa (job #2205291) | Cod sursa (job #3284623) | Cod sursa (job #1161742) | Cod sursa (job #2319823) | Cod sursa (job #1450059)
#include <stdio.h>
#include <cstring>
#include <stdlib.h>
#include <time.h>
#include <bitset>
#include <string>
#include <vector>
#include <math.h>
#include <stack>
#include <queue>
#include <list>
#include <set>
#include <limits.h>
#include <algorithm>
#include <deque>
#define inf 0x3f3f3f3f
#define nmax 100010
using namespace std;
int n,i,j,t[nmax],maxx,dp[nmax];
inline int max(int a,int b)
{
if (a>b) return a; else return b;
}
int main(){
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++) scanf("%d",&t[i]),dp[i]=-inf;
dp[0]=0; t[n+1]=t[1]; maxx=-inf;
for (i=1;i<=3;i++){
dp[i]=0;
dp[i+1]=t[i+1]+t[i];
for (j=2+i;j<=n-2+i;j++)
dp[j]=max(dp[j-1],dp[j-3]+t[j]+t[j-1]);
maxx=max(maxx,dp[n-2+i]);
}
printf("%d",maxx);
return 0;
}