Cod sursa(job #52358)

Utilizator ada_sAda-Mihaela Solcan ada_s Data 18 aprilie 2007 18:50:52
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>

std::ifstream f1("oo.in");
std::ofstream f2("oo.out");

int main()
{
	int a, b, n, i, t, max, poz, sume[100000];
	f1>>n;
	if (n>0)
	{
		f1>>a;
		sume[0]=a;
	}//if
	for (i=1; i<n; i++)
	{
		f1>>b;
		sume[i-1]+=b;
		sume[i]=b;
	}//for i
	sume[n-1]+=a;
	t=0;
	do
	{
		max=0;
		for (i=0; i<n; i++)
			if (sume[i]>max)
			{
				poz=i;
				max=sume[poz];
			}//if
		if (max>0)
		{
		  t+=max;
			sume[poz]=0;
			if (poz==1)
			{
				sume[0]=0;
				sume[n-1]=0;
				sume[2]=0;
				sume[3]=0;
			}//if
			else
  			if (poz==0)
	  		{
					sume[n-1]=0;
					sume[n-2]=0;
					sume[1]=0;
					sume[2]=0;
				}//if
				else
					if (poz==(n-1))
					{
						sume[poz-1]=0;
						sume[poz-2]=0;
						sume[0]=0;
						sume[1]=0;
					}//if
			    else
						if (poz==(n-2))
						{
							sume[poz-1]=0;
							sume[poz-2]=0;
							sume[n-1]=0;
							sume[0]=0;
						}//if
			    	else
						{
							sume[poz-2]=0;
							sume[poz-1]=0;
							sume[poz+1]=0;
							sume[poz+2]=0;
						}//else
		}//if	
	}while (max>0);
	f2<<t;
	f1.close();
	f2.close();
	return 0;
}//main