Cod sursa(job #419200)

Utilizator feelshiftFeelshift feelshift Data 17 martie 2010 09:24:13
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <cstdio>
int vector[3][100001],n,i,k,max,sum;

FILE * in = fopen("oo.in","rt");
FILE * out = fopen("oo.out","wt");

int main()
{
	fscanf(in,"%d",&n);
	
	fscanf(in,"%d",&vector[1][1]);
	
	for(i=2;i<=n;i++)
	{
		fscanf(in,"%d",&vector[1][i]);
		vector[2][i-1] = vector[1][i-1] + vector[1][i];
	}
	
	vector[2][n] = vector[1][n] + vector[1][1];
	
	/*for(i=1;i<=n;i++)
		printf("%d ",vector[1][i]);
	printf("\n");
	
	for(i=1;i<=n;i++)
		printf("%d ",vector[2][i]);
	printf("\n");*/
	
	for(;;)
	{
		max = -1;
		
		for(i=1;i<=n;i++)
			if(vector[2][i] > max && vector[1][i-1] != -1 && vector[1][i+1] != -1)
			{
				max = vector[2][i];
				k = i;
			}
			
		if(max == -1)
			break;
		
		//printf("%d %d\n",max,k);
		
		vector[1][k] = -1;
		vector[2][k] = -1;
		vector[1][k-1] = -1;
		vector[2][k-1] = -1;
		vector[1][k+1] = -1;
		vector[2][k+1] = -1;
		vector[1][k+2] = -1;
		vector[2][k+2] = -1;
		
		if(k == 1)
		{
			vector[1][n] = -1;
			vector[2][n] = -1;
		}
		
		sum = sum + max;
	}
	
	fprintf(out,"%d",sum);
	
	return (0);
}