Cod sursa(job #1052643)

Utilizator cristi.ivanIvan George Cristian cristi.ivan Data 11 decembrie 2013 17:18:42
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream read("buline.in");
ofstream write("buline.out");

signed int N;
long int sum=0,bestsum=-2147483648;

int main()
{	
	long int bilete[200005],buline,culoare,i,index=0,begin=0,end=0;
	 
	read>>N;
	for(i=1;i<=2*N;i++)
		if(i<=N)
		{
			read>>buline>>culoare; if(culoare==0) bilete[i]=-buline; else bilete[i]=buline;
		}
		else
			bilete[i]=bilete[i-N];

	for(i=1;i<=2*N-1;i++)
	{
		if(sum<0)
			{
				sum=bilete[i]; index=i;
			}

			else
				sum=sum+bilete[i];
			if(bestsum<sum)
			{
				bestsum=sum; begin=index; end=i;
			}
	}

		write<<bestsum<<" "<<begin<<" "<<end-begin+1;
		read.close();
		write.close();
		return 1;
}