Cod sursa(job #2229718)

Utilizator radugheoRadu Mihai Gheorghe radugheo Data 8 august 2018 00:07:06
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;

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

int v[400005], n, i, b, i1, i2, cnt;

long long ssm, m;

int main()
{
    fin >> n;
    for (i=1; i<=n; i++){
        fin >> v[i] >> b;
        if (b == 0)
            v[i] = -v[i];
        v[i+n] = v[i];
    }
    ssm = v[1];
    m = ssm;
    for (i=2; i<2*n; i++){
        if (ssm < 0){
            ssm = v[i];
            cnt = 1;
        }
        else{
            ssm += v[i];
            cnt++;
        }
        if  (ssm > m && cnt <= n){
            //fout << cnt << "\n";
            m = ssm;
            i1 = i - cnt + 1;
            i2 = i;
        }
    }
    fout << m << " " << i1 << " " << i2 - i1 + 1;
    return 0;
}