Cod sursa(job #329209)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 5 iulie 2009 12:02:49
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>

int max,n,i,v[100011],t[100011];

int max2(int a,int b)
{
 if(a>b) return a;
 return b;
}

int main()
{
 FILE *f=fopen("oo.in","r");
 fscanf(f,"%d",&n);
 for(i=1;i<=n;i++) fscanf(f,"%d",&v[i]);
 fclose(f);
 for(i=3;i<=n;i++)
 {
  t[i]=max2(t[i-1],v[i]+v[i-1]+t[i-3]);
 }
 max=max2(max,t[n]);
 t[1]=t[2]=t[3]=t[4]=v[1]+v[2];
 for(i=5;i<n;i++)
 {
  t[i]=max2(t[i-1],v[i]+v[i-1]+t[i-3]);
 }
 max=max2(max,t[n-1]);
 t[3]=t[2]=t[1]=v[n]+v[1];
 for(i=4;i<=n-2;i++)
 {
  max=max2(max,t[n-2]);
  t[i]=max2(t[i-1],v[i]+v[i-1]+t[i-3]);
 }
 max=max2(max,t[n-2]);
 FILE *g=fopen("oo.out","w");
 fprintf(g,"%d",max);
 fclose(g);
 return 0;
}