Cod sursa(job #271664)

Utilizator ConsstantinTabacu Raul Consstantin Data 5 martie 2009 19:30:02
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>

int v[20002],i,ok,j,k,m,n,s1,s2,sum,min,p,l,p2,l2,poz;

int main(){

freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);


scanf("%d",&n);
for(i=1;i<=n;i++)
        {scanf("%d %d",&v[i],&ok);
        if(!ok)v[i]=(-1)*v[i];
        }
s1=v[1];p=1;l=1;
for(i=1;i<=n;i++)
        {sum+=v[i];
        if((sum-min)>s1){s1=sum-min;p=poz+1;l=i-poz;}
       if(sum<min)
        {min=sum;
        poz=i;
        }
      }

if(p+l>n){
sum=0;min=0;poz=0;
for(i=1;i<p;i++)
        {sum+=v[i];
        if(sum>s2)
        {s2=sum;l2=i-poz+1;}
        if(sum<min){min=sum;poz=i;}
       }
if(s2)
        {l+=l2;s1+=s2;} }

printf("%d %d %d",s1,p,l);
return 0;}