Cod sursa(job #810824)

Utilizator EternalHeroeEternal Heroe EternalHeroe Data 11 noiembrie 2012 06:24:09
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");

int n,i,smax,x,y,sc,poz,nr,a[2000002];
int main(){
	f>>n;
	for(i=0;i<n;i++){
		f>>x;
		f>>y;
		if(y==0)
		{
			a[i]=-x;
		}
		else
		{
			a[i]=x;
		}
	}
	sc=a[0];
	smax=sc;
	x=0;
	y=0;
	for(i=1;i<n;i++){
		if(sc<0)
		{
			sc=a[i];
			poz=i;
		}
		else 
		{
			sc+=a[i];
		}
		if(sc>smax)
		{
			smax=sc;
			x=poz;
			y=i;
		}
	}
	if(sc>=0&&poz!=0)
		for(i=0;i<poz;i++)
		{
			sc+=a[i];
			if(sc>smax){
				smax=sc;
				x=poz;
				y=i;
			}
		}
	++x;
	++y;
	if(y<x)
		y=n-x+1+y;
	g<<smax<<" "<<x<<" "<<y<<"\n";

	
}