Cod sursa(job #1463411)

Utilizator ancabdBadiu Anca ancabd Data 20 iulie 2015 21:41:05
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>

using namespace std;

ifstream fin ("buline.in");
ofstream fout ("buline.out");

int main()
{
    int mx= -1000000, a=0, n=0, p=0, tr =0, s=0, ii=0, l=0, inc=0, fnl=0, y, m[400001], ult =-1;
    fin >> n;
    for (int i = 1; i<=n; i++)
    {
        fin >> a;
        fin >> y;

        if (y == 0)a*=-1;
        m[i]=a;
        m[n+i]=a;
    }
    for (int i = 1; i<=2*n; i++)
    {
        a = m[i];

        if (i == 1)p= a;
        else if (p < 0 || i == ult)
        {
            ult = i + n-1;
            ii = i;
            if (tr == 0)
            {
                s=p;
                l = i;
            }
            p = a;
            tr = 1;
        }
        else p+=a;

        if (p  > mx)
        {
            inc = ii;
            fnl = i -ii + 1;
            mx = p;
        }
    }
    fout << mx << ' ' << inc <<  ' ' << fnl;
    return 0;
}