Cod sursa(job #797957)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 15 octombrie 2012 12:31:22
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int i, n, a, i, ii, j, jj, minim, maxim, s1, s2, s, c, k1, k2;
int main(){
	f>>n
	maxim=-10002;
	minim=-maxim;
	for(i=1; i<=n; i++)
	{
		f>>a>>c;
		if(c==0)
			a=-a;
		s+=a;
		if(s1+a>a)
		{
			s1+=a;
			if(maxim<s1)
			{
				maxim=s1;
				i=k1;
				j=i;
			}
		}
		else
		{
			s1=a;
			k1=i;
			if(maxim<s1)
			{
				maxim=s1;
				i=k1;
				j=i;
			}
		}
		if(s2+a<a)
		{
			s2+=a;
			if(minim>s2)
			{
				minim=s2;
				ii=k2;
				jj=i;
			}
		}
		else
		{
			s2=a;
			k2=i;
			if(minim>s2)
			{
				minim=s2;
				ii=k2;
				jj=i;
			}
		}
	}
	if(maxim>s-minim)
		g<<maxim<<' '<<i<<' '<<j-i+1;
	else
		if(jj==n)
			g<<s-minim<<" 1 "<<n-jj+ii-1;
		else
			g<<s-minim<<' '<<jj+1<<' '<<n-jj+ii-1;
	return 0;
}