Cod sursa(job #271932)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 6 martie 2009 09:02:17
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<fstream.h>
int n,i,semn,v[200010],s[200010],p1,p2,l1,min1,pmin,max1,pmax,smax,smin,stot;
int main()
{
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for(i=1;i<=n;i++)
 {f>>v[i]>>semn;
  if(semn==0) v[i]=-v[i];
  s[i]=v[i]+s[i-1];
 }
max1=-20000; min1=0; pmin=0;

for(i=1;i<=n;i++)
  { if(s[i]-min1>max1) { max1=s[i]-min1; p1=pmin+1; l1=i-p1+1;}
    if(s[i]<min1) {min1=s[i]; pmin=i;}
  }

smax=max1;

min1=20000; max1=0; pmax=0;

 for(i=1;i<=n;i++)
  {
    if(s[i]-max1<min1) { min1=s[i]-max1; p2=pmax+1;}
    if(s[i]>max1) {max1=s[i]; pmax=i;}
  }

smin=min1;
stot=s[n];

if(stot==smin)   g<<smax<<" "<<p1<<" "<<l1;

 else

  if(stot-smin>smax) g<<stot-smin<<" "<<p1<<" "<<l1+p2-1;

	else g<<smax<<" "<<p1<<" "<<l1;

f.close();
g.close();
return 0;
}