Cod sursa(job #87246)

Utilizator me_andyAvramescu Andrei me_andy Data 26 septembrie 2007 21:22:08
Problema Buline Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream.h>
#include<math.h>

	ifstream f("buline.in");
	ofstream g("buline.out");
	long a[200000],smax,b,i,j,x1,x2,n,s,c,x,x3,c3,c1,c2,q;

int main()
{
 f>>n;
 for(i=1;i<=n;i++)
 {
  f>>a[i];
  f>>b;
  if(b==0)
	a[i]=-a[i];
 }

 for(i=1;i<=n;i++)
  a[i]=-a[i];
 smax=-2000000000;
 s=0;
 c3=1;
 for(i=1;i<=n;i++)
 {
  s=s+a[i];
  if(s>smax)
  {
	smax=s;
	c2=i;
	c1=c3;
  }
  if(s<0)
  {
	s=0;
	c3=i+1;
  }
 }
 for(i=1;i<=n;i++)
  a[i]=-a[i];
 s=0;
 for(i=1;i<=n;i++)
  s+=a[i];
 s+=smax;
  q=c2-c1;
  if(c2==c2)
	q=1;
  g<<s<<" ";
  g<<(c2+1)<<" ";
  g<<(n-q);
  f.close();
  g.close();
  return 0;
}