Cod sursa(job #333775)

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




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