Cod sursa(job #349026)

Utilizator Bogdan_CCebere Bogdan Bogdan_C Data 17 septembrie 2009 19:51:28
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
using namespace std;
int maxim(int a,int b)
{if(a<b) return b;
return a;
    }
int main()
{ifstream in("oo.in");
ofstream out("oo.out");
int n,a[100003],best[100003],res;
in>>n;
for(int i=1;i<=n;i++) in>>a[i];
best[1]=a[1]+a[2];
best[2]=best[1];
best[3]=best[1];
best[4]=best[1];
for(int i=5;i<n;i++)
 best[i]=maxim(best[i-1],a[i]+a[i-1]+best[i-3]);
res=best[n-1];
best[2]=a[2]+a[3];
best[3]=a[2]+a[3];
best[4]=a[2]+a[3];
best[5]=a[2]+a[3];
for(int i=6;i<=n;i++)
 best[i]=maxim(best[i-1],a[i]+a[i-1]+best[i-3]);
res=maxim(res,best[n]);
best[1]=a[1]+a[n];
best[2]=a[1]+a[n];
best[3]=a[1]+a[n];
for(int i=4;i<n-1;i++)
 best[i]=maxim(best[i-1],best[i-3]+a[i]+a[i-1]);
res=maxim(res,best[n-2]);
out<<res;       
    
    return 0;}