Cod sursa(job #296191)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 4 aprilie 2009 13:47:38
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
long n,i,a[100050],s[100050],max;
int main()
{
 freopen("oo.in","r",stdin);
 freopen("oo.out","w",stdout);
 scanf("%ld",&n);
 for(i=5;i<=n+4;++i)
    scanf("%ld",&a[i]);
 a[1]=a[n+1];
 a[2]=a[n+2];
 a[3]=a[n+3];
 a[4]=a[n+4];
 for(i=7;i<=n+4;++i)
  {s[i]=s[i-1];
   if(s[i-3]+a[i-1]+a[i]>s[i])s[i]=s[i-3]+a[i-1]+a[i];}
 if(max<s[n+4])max=s[n+4];
 for(i=6;i<=n+3;++i)
  {s[i]=s[i-1];
   if(s[i-3]+a[i-1]+a[i]>s[i])s[i]=s[i-3]+a[i-1]+a[i];}
 if(max<s[n+3])max=s[n+3];
 for(i=5;i<=n+2;++i)
  {s[i]=s[i-1];
   if(s[i-3]+a[i-1]+a[i]>s[i])s[i]=s[i-3]+a[i-1]+a[i];}
 if(max<s[n+2])max=s[n+2];
 printf("%ld\n",max);
 return 0;
}