Cod sursa(job #2110703)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 21 ianuarie 2018 11:09:13
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

using namespace std;

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

int v[200005];

int main()
{
    int n;
    fin >> n;

    for(int i = 1; i <= n; ++i)
    {
        int x, o;
        fin >> x >> o;

        v[i] = x;
        if(o == 0)
            v[i] = -v[i];
        v[n + i] = v[i];
    }

    int st = 1, rez = 1, s = 0, I = 0, N = 0, sm = 0;
    for(int i = 1; i <= 2 * n; ++i)
    {
        s += v[i];++rez;

        if(st + n == i)
            s = -v[i], rez--, st++;

        if(s > sm)
            sm = s, I = st, N = rez;

        if(s <= 0)
        {
            s -= v[i];
            if(s > sm)
                sm = s, I = st, N = rez;
            s = 0, rez = 0, st = i + 1;
        }
    }
    fout << sm << ' ' << I << ' ' << N << '\n';
    return 0;
}