Cod sursa(job #1461517)

Utilizator aokirisakiLisca Ana aokirisaki Data 15 iulie 2015 21:13:17
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <cstdio>
#include <cstdlib>
using namespace std;

int x[400001];

int main()
{freopen("buline.in","r",stdin);
freopen ("buline.out","w",stdout);
int n,i,sc,ic,smax,im,sfm,culoare;
scanf("%d",&n);

for(i=1;i<=n;i++)
    {scanf("%d%d",&x[i],&culoare);
     if(culoare==0)
      x[i]=-x[i];
      x[n+i]=x[i];
      }


sc=smax=x[1];
ic=im=sfm=1;

for(i=2;i<2*n;i++)
{
    if(sc+x[i]<x[i] || i-n>=ic)
    {
        sc=x[i];
        ic=i;
    }
    else sc=sc+x[i];
if(sc>smax)
{
    smax=sc;
    im=ic;
    sfm=i;
}

}

int l;
l=sfm-im+1;
if(im>n)
im=im-n;

    printf("%d %d %d",smax,im,l);
    return 0;
}