Cod sursa(job #1134049)

Utilizator PaueyPaula Nicoleta Gradu Pauey Data 5 martie 2014 22:24:50
Problema Buline Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <cstdio>
using namespace std;
int v[400040];

int main()
{
    freopen("buline.in","r",stdin);
    freopen("buline.out","w",stdout);
    int n,p=1,lp=1,i,l=1,pp=1,c,semn,bul,s=-2000000000,sp=0;
    scanf("%d",&n);
    for(i=1;i<=n;++i) {
         scanf("%d%d",&bul,&semn);
         if(semn==0) v[i+n]=v[i]=-bul;
         else v[i+n]=v[i]=bul;
    }
    for(i=1;i<=n;++i) {
       c=i;
       lp=1;
       sp=0;
       lp=1;
       while(lp<n && c<2*n)
       {
          if(sp>0) {
               sp=sp+v[c];
               ++lp;
          }
          else {
             sp=v[c];
             lp=1;
             pp=c;
          }
          if(sp>s) {
            s=sp;
            p=pp;
            l=lp;
          }
          ++c;
       }
    }
    printf("%d %d %d",s,p,l);
    return 0;
}