Cod sursa(job #611840)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 3 septembrie 2011 19:17:15
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
#define INF 2000000000
#define N 200001
long n,i,a[N],b,w=-INF,l=1,j=1,p,r,k=1,t;
int main()
{freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++)
      {scanf("%ld%ld",&a[i],&b);
      if(!b)
             a[i]=-a[i];}
for(i=1;i<2*n;i++)
      {if(p>r)
              p=r,l=i;
      if(i<=n)
              r+=a[i];
      else
              r+=a[i-n];
      if(i-j<n&&w<r-p)
              w=r-p,k=i;
      if(l<=k)
              j=l;}
if(w<0)
      j=k;
printf("%ld %ld %ld",w,j,k-j+1);
return 0;}