Cod sursa(job #333768)

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




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; else v[i]=y;
 }
 s[0]=0;lung1=0;
 for (x=1;x<=2*n;x++)
 {i=(x-1)%n+1;i1=(x-2)%n+1;
	 if ((s[x-1]+v[i]>v[i])&&(lung1<=n))
   {s[x]=v[i]+s[x-1];  
    lung1++;
    } else
		
    {s[x]=v[i];
     lung1=1;
     }	 
  if (s[x]>max) {max=s[x];l=lung1;p=(x-l)%n+1;}	
 }
 printf("%d %d %d",max,p,l);
 return 0;}