Cod sursa(job #1450046)

Utilizator SilviuIIon Silviu SilviuI Data 11 iunie 2015 11:42:14
Problema Oo Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#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];
for (i=1;i<=3;i++){
    for (j=2+i;j<=n+1;j++)
        dp[j]=max(dp[j-1],dp[j-3]+t[j]+t[j-1]);
}
printf("%d",dp[n+1]);
return 0;
}