Cod sursa(job #1064108)

Utilizator dtz.petricanPetrican Danut dtz.petrican Data 21 decembrie 2013 15:28:47
Problema Buline Scor 100
Compilator cpp Status done
Runda riad Marime 1 kb
#include <fstream>
 
using namespace std;
 
ifstream f("buline.in");
ofstream g("buline.out");
int v[200001],s[200001],p,i,n,d,dd,pp,p2,p1,mi,mini,maxi,pl,ma,pi,pll;
int main()
{
    f>>n;
    for (i=1;i<=n;i++)
    {
        f>>v[i]>>p;
        if (p==0)
         v[i]=-v[i];
         s[i]=s[i-1]+v[i];
    }
 
    p1=1;
     for (i=1;i<=n;i++)
      {
          if (s[i]-mi>maxi)
           {
               maxi=s[i]-mi;
               p=p1;
               d=i-p+1;
           }
          if (s[i]-ma<mini)
           {
               mini=s[i]-ma;
               pp=i;
               dd=i-p2+1;
           }
           if (s[i]>ma)
            {
                ma=s[i];
                p2=i+1;
            }
           if (s[i]<mi)
            {
                mi=s[i];
                p1=i+1;
            }
      }
 
      if (s[n]-mini>maxi)
       {maxi=s[n]-mini;
       p=pp+1;
       d=n-dd;}
      g<<maxi<<" "<<p<<" "<<d;
   f.close();
   g.close();
}