Cod sursa(job #3217925)

Utilizator ariana6730hhAriana Bercea ariana6730hh Data 25 martie 2024 10:41:54
Problema Buline Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("buline.in");
ofstream out("buline.out");
int v[200001],n,x,y,poz1,l1,imax, poz2, l2, imin, smax,smin;
int main()
{
  in>>n;
  for(int i=1; i<=n; i++)
    {
        in>>x>>y;
        if(y==0)
            v[i]=-x;
        else
            v[i]=x;
    }
   long long s=0,Max=-100000, Min=100000;
    for(int i=1; i<=n; i++)
    {
      s+=v[i];
      if(smax<0)
      {
          smax=v[i];
          poz1=i;
      }
      else smax+=v[i];
      if(smax>Max)
        Max=smax, imax=i, l1=i-poz1+1;
     if(smin>0)
        smin=v[i], poz2=i;
     else smin+=v[i];
     if(smin<Min)
        Min=smin, imin=i+1, l2=n-i+poz2-1;
    }
    if(Max>s-Min)
    out<<Max<<" "<<imax<<" "<<l1;
    else
        out<<s-Min<<" "<<imin<<" "<<l2;

}