Cod sursa(job #290939)

Utilizator ConsstantinTabacu Raul Consstantin Data 28 martie 2009 23:16:48
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
#define Nmx 100110
#define max(a,b) ((a)>(b)?(a):(b))
int i,j,k,l,m,n,v[Nmx],d1[Nmx],d2[Nmx],d3[Nmx];

int main(){

freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);

scanf("%d",&n);

for(i=4;i<=n+4;i++)
        scanf("%d",&v[i]);

v[1]=v[n+1];v[2]=v[n+2],v[3]=v[n+3];
for(i=5;i<n+3;i++)
        d1[i]=max(d1[i-1],d1[i-3]+v[i]+v[i-1]);

m=max(d1[n+2],m);

for(i=6;i<=n+3;i++)
        d2[i]=max(d2[i-1],d2[i-3]+v[i]+v[i-1]);
m=max(m,d2[n+3]);


for(i=4;i<=n+1;i++)
        d3[i]=max(d3[i-1],d3[i-3]+v[i]+v[i-1]);
m=max(m,d3[n+1]);

printf("%d",m);

return 0;}