Cod sursa(job #483218)

Utilizator andunhillMacarescu Sebastian andunhill Data 7 septembrie 2010 14:29:34
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
using namespace std;
#define oo 1<<30
ifstream f("buline.in");
ofstream g("buline.out");
int N,i,nr,color,sum,min1,s,beg,end,be;
int col[400001];
int main()
{	f>>N;
	for(i=1;i<=N;i++)
	{	f>>nr>>color;
		if(color==0)
			col[i]=-nr;
		else
			col[i]=nr;
	}
	for(i=1;i<=N-1;i++)
		col[N+i]=col[i];
	s=-oo;
	beg=be=end=1;
	for(i=1;i<2*N;i++)
	{	sum+=col[i];
		if(sum-min1>s)
			s=sum-min1 , beg=be , end=i;
		if(min1>sum)
			min1=sum , be=i+1;
	}
	g<<s<<" "<<beg<<" "<<end-beg+1;
	f.close();
	g.close();
	return 0;
}