Cod sursa(job #1412154)

Utilizator bogdi1bogdan bancuta bogdi1 Data 1 aprilie 2015 09:59:24
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>

using namespace std;
int v[200001];
int main()
{	freopen("buline.in", "r",stdin);
	freopen("buline.out", "w",stdout);
	int n,i,tip,sc,smax,st,stm,drm,ok,maxl,l;
	scanf("%d", &n);
	for(i=1; i<=n; i++){
		scanf("%d%d", &v[i], &tip);
		if(tip==0)
			v[i]=v[i]*-1;
	}
	sc=smax=v[i];
	st=stm=drm=1;
	ok=0;
	l=0;
	for(i=2; i<=n && l<=n; i++){
		if(sc+v[i]>v[i]){
			sc=sc+v[i];
			l++;
		}
		else{
			if(ok==1)
				break;
			sc=v[i];
			st=i;
			l=1;
		}
		if(sc>smax){
			stm=st;
			maxl=l;
			smax=sc;
		}
		if(i==n){
			i=0;
			ok=1;
		}
	}
    printf("%d %d %d", smax, stm, maxl);
    return 0;
}