Cod sursa(job #2390917)

Utilizator Sorana132004Resiga Sorana Sorana132004 Data 28 martie 2019 14:46:15
Problema Buline Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>

#include <climits>

using namespace std;

ifstream f("buline.in");

ofstream g ("buline.out");

int v[500005];

int i,j, maxi=INT_MIN,n,k,y,z,suma,suma2,o,nr,maxi2=INT_MIN,maxis,z2,nr3,j2;

int main()

{

    f>>n;

  for(i=1; i<=n; i++)

  {

      f>>v[i];

      v[i+n]=v[i];

      f>>o;

      if(o==0)

      { v[n+i]=v[i]-2*v[i];

          v[i]=v[i]-2*v[i];
      }
  }
      for(i=1; i<n*2; i++)
      {
          if(suma<0)

            suma=v[i], j=i;

          else

            suma=suma+v[i];

          if(suma>maxi)

            maxi=suma, z=j, nr=i;



      }
	for(i=1; i<=n; i++)
    {
        maxis=v[i]+maxis;
        v[i]=v[i]-2*v[i];
        if(suma2<0)

            suma=v[i], j2=i,nr3=1;

          else

            suma2=suma2+v[i], nr2++;

          if(suma2>maxi2)

            maxi2=suma2, z2=j2, nr2=i;


    }
    if(maxi<maxis-maxi2)
    {
          maxi=maxis-maxi2;
          z=nr2+1;
          nr2=n-nr3;
    }
    else
nr-=z-1;

if(z>n)z=-n;

  g<<maxi<<' '<<z<<' '<<nr;

    return 0;

}