Cod sursa(job #46984)

Utilizator retarduasd dsa retardu Data 3 aprilie 2007 11:51:16
Problema Buline Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
long p,max,poz,lung,x[2000001],b,a,n,m,j,k,l,i,q,w,z,s;
int main()
{
	freopen("buline.in","r",stdin);
	freopen("buline.out","w",stdout);
	scanf("%ld",&n);
	for (i=1;i<=n;i++)
	{
		scanf("%ld%ld",&a,&b);
		if (b==0) x[i]=0-a; else x[i]=a;
	}
	for (i=1;i<=n;i++)
	x[n+i]=x[i];
	max=-20001;
	m=0;
	l=0;
	p=1;
	for (i=1;i<=n+n;i++)
	{
	l++;
	m+=x[i];
	if (m<0||l>n) {if (m>max&&l<=n) {max=m; lung=l; poz=p; }if (l>n) i=p; m=0; l=0; p=i+1; }
	else
	{
	if (m>max&&l<=n) {max=m; lung=l; poz=p; }
	}
	}
	printf("%ld %ld %ld\n",max,poz,lung);
	return 0;
}