Cod sursa(job #131581)

Utilizator razvi9Jurca Razvan razvi9 Data 4 februarie 2008 11:01:18
Problema Buline Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<cstdio>
int n,a[400000],i,x,y,s,l,p,s1,s2,s3,l1,l2;
int main()
{freopen("buline.in","r",stdin);
 freopen("buline.out","w",stdout);
 scanf("%d",&n);
 for(i=1;i<=n;i++){
	 scanf("%d %d",&x,&y);
	 a[i]=y?x:-x;
	 s3+=a[i];}
 for(i=1;i<=n;i++){
	 s1=s1+a[i];
	 l1++;
	 if(s1<a[i]) s1=a[i],l1=1;
	 s2=s2-a[i];
	 l2++;
	 if(s2<-a[i]) s2=-a[i],l2=1;
	 if(s1>s){s=s1;p=i-l1+1;l=l1;}
	 if(s3+s2>s){s=s3+s2;p=i+1;l=n-l2;}}
 printf("%d %d %d\n",s,p,l);
 fclose(stdout);
 return 0;}