Cod sursa(job #3287271)

Utilizator Andrei-Dani-10Pisla Andrei Daniel Andrei-Dani-10 Data 17 martie 2025 13:33:03
Problema Buline Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>

using namespace std;

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

const int sizee = 200000;
int n, val, type, v[sizee + 2];
int summy, rg, lf, __lf;
int smax = -(1 << 30);

int main(){
    in>>n;
    for(int i = 1; i <= n; i++){
        in>>val>>type;
        val *= (type ? 1 : -1);
        v[i] = val; v[i + n] = val;
    }
    for(int i = 1; i <= n; i++){
        summy += v[i];
        if(summy < 0)
            __lf = i + 1, summy = 0;
        if(summy > smax)
            lf = __lf, rg = i, smax = summy;
    }
    int limit = lf;
    for(int i = 1; i < limit; i++){
        summy += v[i];
        if(summy < 0) break;
        if(summy > smax)
            rg = n + i, smax = summy;
    }
    out<<smax<<" "<<lf<<" "<<rg - lf + 1<<"\n";
    return 0;
}