Cod sursa(job #651061)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 19 decembrie 2011 17:39:21
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream>
#include<fstream>
using namespace std;
short v[200001];
int main ()
{
	int i,start,l,n,s,max,c;
	ifstream f("buline.in");
	ofstream g("buline.out");
	f>>n;
	for(i=1;i<=n;i++) {
		f>>l>>s;
		if(s==0)
			l=l*(-1);
		v[i]=l;
	}
	f.close();
	max=-2000000000;
	c=1;
	s=0;
	for(i=1;i<=n;i++) {
		if(s<0) {
			s=v[i];
			c=i;
		}
		else s=s+v[i];
		if(s>max) {
			max=s;
			start=c;
			l=i-start+1;
		}
	}
	if((s>0)&&(start!=1)) {
		i=1;
		while((s>0)&&(i<start)) {
			s=s+v[i];
			if(s>max) {
				max=s;
				l=i+n-start+1;
			}
			i++;
		}
	}
	g<<max<<" "<<start<<" "<<l;
	g.close();
	return 0;
}