Cod sursa(job #1896119)

Utilizator Daria09Florea Daria Daria09 Data 28 februarie 2017 14:18:29
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
#define Nmax 400002
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int a[Nmax],n;
void read()
{
    f>>n; int i; bool ok;
    for(i=1;i<=n;i++)
    {
        f>>a[i]>>ok;
        if(ok==0)a[i]-=2*a[i];
        a[n+i]=a[i];
    }
    f.close();
}
void solve()
{
    int i,s,j=1,MAX=a[1],y=1,l=1; s=a[1];
    for(i=2;i<2*n;i++)
    {
        if(i==j+n)
        {
            j=i;
            s=a[i];
        }
        else
        if(s<0)
        {
            j=i;
            s=a[i];
        }
        else  s+=a[i];
        if(MAX<s){MAX=s; y=j; l=i-j+1;}
    }
    g<<MAX<<" "<<y<<" "<<l;
}
int main()
{
    read(); solve();
    return 0;
}