Cod sursa(job #2046581)

Utilizator gruhtenZinnenberg Gruhten gruhten Data 23 octombrie 2017 21:58:04
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#define dim 100002
using namespace std;

int a[dim],b[dim],rez;

int main()
{
ifstream f("oo.in");
ofstream g("oo.out");
//7
//3 9 4 8 6 50 2
//69
int i,j,k,N;
f>>N;
for(i=1;i<=N;++i)
    f>>a[i];

//luam 1 si 2
b[2]=b[3]=b[4]=a[1]+a[2];
for(i=5;i<N;++i)
{
    b[i]=b[i-1];
    if(b[i]<b[i-3]+a[i-1]+a[i])
        b[i]=b[i-3]+a[i-1]+a[i];
}
rez=max(rez,b[N-1]);

//nu luam 1
b[0]=b[1]=b[2]=0;
for(i=3;i<=N;++i)
{
    b[i]=b[i-1];
    if(b[i]<b[i-3]+a[i-1]+a[i])
        b[i]=b[i-3]+a[i-1]+a[i];
}
rez=max(rez,b[N]);

//luam N si 1
b[1]=b[2]=b[3]=a[N]+a[1];
for(i=4;i<N;++i)
{
    b[i]=b[i-1];
    if(b[i]<b[i-3]+a[i-1]+a[i])
        b[i]=b[i-3]+a[i-1]+a[i];
}
rez=max(rez,b[N-2]);

g<<rez<<'\n';
    return 0;
}