Cod sursa(job #498575)

Utilizator valentin.harsanValentin Harsan valentin.harsan Data 5 noiembrie 2010 16:07:28
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;

int main () {
	int sc,smax1,sss,smax2,dd,n,m,i,j,a,s,x[1000];
	ifstream aa("buline.in");
	ofstream ss("buline.out");
	aa >> n; sss=0; a=1; s=1;
	for (i=1;i<=n;++i) {
		aa >> x[i] >> dd;
		if (dd==0) x[i]=-x[i];
		sss=x[i]+sss;
	}
	smax2=0; sc=0; smax1=0;
	for (i=1;i<=n;++i) {
		sc=sc+x[i];
		if (sc<0) {sc=0; a=i+1;}
		if (sc>smax1) {smax1=sc;
			s=i-a+1;
			j=a;
		}
	}
	for (i=1;i<=n;++i) {
		sc=sc+x[i];
		if (sc>0) {sc=0; a=i+1;}
		if (sc<smax2) {smax2=sc;
			s=i-a+1;
			j=a+s;
			s=n-s;
		}
	}
	if (sss-smax2>smax1) smax1=sss-smax2;
	ss << smax1 << " " << j << " " << s;
	ss.close();
	aa.close();
	return 0;
}