Cod sursa(job #3232074)

Utilizator Andrei08Petcu Andrei Vlad Andrei08 Data 28 mai 2024 19:37:58
Problema Oo Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>
#define MAX 100001
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int dp[MAX],v[MAX];
int main(){
    int n,i,maximus=0;
    fin>>n;
    for (i=1;i<=n;i++)
        fin>>v[i];
    dp[1]=dp[2]=dp[3]=v[1]+v[n];/// 1,n
    for (i=4;i<=n-2;i++)
        dp[i]=max(dp[i-1],dp[i-3]+v[i-1]+v[i]);
    maximus=dp[i-2];


    for (i=1;i<=n;i++)
        dp[i]=0;
    dp[1]=dp[2]=dp[n]=dp[3]=dp[4]=v[1]+v[2];///1,2
    for (i=5;i<=n-1;i++)
        dp[i]=max(dp[i-1],dp[i-3]+v[i-1]+v[i]);
    if (maximus<dp[n-1])
        maximus=dp[n-1];
    for (i=1;i<=n;i++)
        dp[i]=0;


    dp[2]=dp[3]=dp[4]=dp[5]=v[2]+v[3];/// 2,3
    for (i=6;i<=n;i++)
        dp[i]=max(dp[i-1],dp[i-3]+v[i-1]+v[i]);
    if (maximus<dp[n-1])
        maximus=dp[n-1];
    fout<<maximus;
    return 0;
}