Cod sursa(job #389736)

Utilizator nitica_isabelaNitica Isabela nitica_isabela Data 2 februarie 2010 10:48:17
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<fstream>

using namespace std ;

int a[100001], c[100001], n, s ;

int main()
{
	int i, x ;
	ifstream fin("oo.in") ;
	fin>>n ;
	for (i=0 ; i<n ; i++)
		fin>>a[i] ;
	fin.close() ;
	
	// iau  a0 si a1
	c[0] = 0 ;
	c[1] = a[0] + a[1] ;
	c[2] = c[1] ;
	c[3] = c[1] ;
	for (i=4 ; i<n-1 ; i++)
	{
		c[i] = c[i-1] ;
		x = a[i] + a[i-1] + c[i-3] ;
		if (c[i] < x) 
			c[i] = x ;
	}
	
	s = c[n-2] ;
	
	// iau a1 si a2
	c[0] = 0 ;
	c[1] = 0 ;
	c[2] = a[1]+a[2] ;
	c[3] = c[2] ;
	c[4] = c[2] ;
	for (i=5 ; i<n ; i++)
	{
		c[i] = c[i-1] ;
		x = a[i] + a[i-1] + c[i-3] ;
		if (c[i] < x) c[i] = x ;
	}
	
	if (s < c[n-1]) s = c[n-1] ;
	
	// iau a(n-1) si a(0)
	c[0] = a[n-1] + a[0] ;
	c[1] = c[2] = c[0] ;
	
	for (i=3 ; i<=n-3 ; i++)
	{
		c[i] = c[i-1] ;
		x = a[i] + a[i-1] + c[i-3] ;
		if (c[i] < x) c[i] = x ;
	}
	
	if (s < c[n-3]) s = c[n-3] ;
	
	ofstream fout("oo.out") ;
	fout<<s<<"\n" ;
	fout.close() ;
	
	return 0 ;
}