Cod sursa(job #1134046)

Utilizator PaueyPaula Nicoleta Gradu Pauey Data 5 martie 2014 22:22:03
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 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,min=2000000000,bul,s=-2000000000,sp=0,poz;
    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;
         if(v[i]<min) {min=v[i];poz=i;}
    }
    for(i=poz+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;
}