Cod sursa(job #1970012)

Utilizator danstefanDamian Dan Stefan danstefan Data 18 aprilie 2017 19:53:18
Problema Oo Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;
int n,i,v[100010],dp[100010],ans;
int main()
{
    ifstream f ("oo.in");
    ofstream g ("oo.out");
    f>>n;
    for(i=1; i<=n; ++i)
        f>>v[i];
    dp[3]=v[2]+v[3];
    for(i=4; i<=n; ++i)
        dp[i]=max(dp[i-1],dp[i-3]+v[i]+v[i-1]);
    ans=dp[n-1];
    memset(dp,0,sizeof(dp));
    dp[2]=v[1]+v[2];
    for(i=3; i<n; ++i)
        dp[i]=max(dp[i-1],dp[i-3]+v[i]+v[i-1]);
    ans=max(ans,dp[n-1]);
    memset(dp,0,sizeof(dp));
    dp[1]=v[1]+v[n];
    dp[2]=dp[1];
    for(i=3; i<n-1; ++i)
        dp[i]=max(dp[i-1],dp[i-3]+v[i]+v[i-1]);
    g<<max(ans,dp[n-2]);
    return 0;
}