Cod sursa(job #333797)

Utilizator aladinaladin aladinn aladin Data 23 iulie 2009 22:01:10
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>
#include <limits.h>
long long max=-LONG_LONG_MAX,lung1,x,i1,y,p,l,n,v[400009],i;




int main()
{
 freopen("buline.in","r",stdin);
 freopen("buline.out","w",stdout);
 scanf("%lld",&n);
 for (i=1;i<=n;i++)
 {scanf("%lld %lld",&y,&x);
  if (x==0) {v[i]=-y;v[n+i]=-y;} else {v[i]=y;v[n+i]=y;}
 }
 v[0]=0;lung1=0;
 
 for (x=1;x<=2*n;x++)
 {
	 if ((v[x-1]+v[x]>v[x]))
   {v[x]+=v[x-1];  
    lung1++;
    } else
		
     lung1=1;
	
  if (v[x]>max) {max=v[x];l=lung1;p=(x-l)%n+1;}	
 }
 printf("%lld %lld %lld",max,p,l);
 return 0;}