Cod sursa(job #1738501)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 6 august 2016 20:19:45
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<bits/stdc++.h>
#define INF INT_MAX
using namespace std;
int maxim=-INF,n,x,c,v[400005],s[400005],m,ls,ld,imin;
int main()
{
    freopen("buline.in","r",stdin);
    freopen("buline.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&x,&c);
        if (c) v[i]=x;
            else v[i]=-x;
    }
    for(int i=n+1;i<=2*n;i++)
    {
        v[i]=v[i-n];
    }
    s[0]=0;
    m=0;
    for(int i=1;i<=2*n;i++)
    {
     //   scanf("%lld",&x);
        s[i]=s[i-1]+v[i];
        if ((s[i]-m)>maxim && (i-imin)<=n)
        {

            maxim=s[i]-m;
            ls=imin+1;
            ld=i;
        }
        if (s[i]<m) m=s[i],imin=i;
    }
    printf("%d %d %d\n",maxim,ls,ld-ls+1);
    return 0;
}