Cod sursa(job #491577)

Utilizator KoniacDocea Andrei Koniac Data 11 octombrie 2010 19:55:30
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>

int max,max1,i,n,v[100001];
char e[100001];

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",&e[i]);
	}
	v[2]=v[3]=e[1]+e[2];
	for(i=4;i<n;i++){
		if(v[i-1]>e[i]+e[i-1]+v[i-3])
			v[i]=v[i-1];
		else
			v[i]=e[i]+e[i-1]+v[i-3];
	}
	max=v[n-1];
	v[1]=v[2]=e[1]+e[n];
	for(i=3;i<n-1;i++){
		if(v[i-1]>e[i]+e[i-1]+v[i-3])
			v[i]=v[i-1];
		else
			v[i]=e[i]+e[i-1]+v[i-3];
	}
	max1=v[n-2];
	v[1]=v[2]=0;
	for(i=3;i<=n;i++){
		if(v[i-1]>e[i]+e[i-1]+v[i-3])
			v[i]=v[i-1];
		else
			v[i]=e[i]+e[i-1]+v[i-3];
	}
	if(max<max1){
		max=max1;
	}
	if(max<v[n]){
		max=v[n];
	}
	fprintf(g,"%d",max);
	
	fclose(g);
	fclose(f);
	return 0;
}