Cod sursa(job #368743)

Utilizator dinuddinu dan dinud Data 25 noiembrie 2009 18:48:44
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
int maxim,s[100100],n,v[100100],i;

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