Cod sursa(job #1409421)

Utilizator DwarfmicDragos Bunea Dwarfmic Data 30 martie 2015 15:23:09
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>
#define sc scanf
#define pf printf

 using namespace std;

 int v[200010];

 int main()
{
 freopen("buline.in","r",stdin);
 freopen("buline.out","w",stdout);

 int n,i,j,len,st,sum=0,sol=-0x3f3f3f3f,nr,type;
 bool flag=false;

 sc("%d",&n);

 for(i=1;i<=n;i++)
 {
  sc("%d",&nr);
  sc("%d",&type);
  if(!type)
     nr*=-1;
  v[i]=nr;
 }

 int p=1;

 for(i=1;i<=n;i++)
 {
  if(sum<0)
  {
   if(flag)
   {
    if(sum>sol)
    {
     sol=sum;
     st=p;
     len=i-st+1;
    }
    break;
   }

   sum=v[i];
   p=i;
  }
  else
   sum+=v[i];

  if(sum>sol)
  {
   sol=sum;
   st=p;
   if(!flag)
   len=i-st+1;
   else
   len=i+n-st+1;
   if(flag)
      break;
  }
  if(i==n)
    {
     if(p==1)
        break;
     i=0;
     flag=true;
    }
 }

 printf("%d %d %d",sol,st,len);
 return 0;
}