Cod sursa(job #2422305)

Utilizator ivan.tudorIvan Tudor ivan.tudor Data 18 mai 2019 13:04:17
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include<cstdio>
#include<string.h>
using namespace std;
const int N=100005;
int d[N];
int v[N];
int ans,n;
void solve(int st,int dr){
  for(int i=st;i<=dr;i++){
	d[i]=max(d[i-1],d[i-3]+v[i]+v[i-1]);
	ans=max(ans,d[i]);
  }

}
int main()
{
    FILE*fin,*fout;
    fin=fopen("oo.in","r");
    fout=fopen("oo.out","w");
    int n;
    fscanf(fin,"%d",&n);
    for(int i=1;i<=n;i++){
	  fscanf(fin,"%d",&v[i]);
    }
    d[2]=v[1]+v[2];
    ans=max(ans,d[2]);
    solve(4,n-1);

    memset(d,0,sizeof(d));
    d[1]=v[1]+v[n];
    ans=max(ans,d[1]);
    solve(3,n-2);

    memset(d,0,sizeof(d));
    d[0]=v[n]+v[n-1];
    ans=max(d[0],ans);
    solve(2,n-3);

    memset(d,0,sizeof(d));
    solve(3,n-1);

    fprintf(fout,"%d",ans);
    return 0;
}