Cod sursa(job #3305951)

Utilizator mbazacliuMihnea Gabriel Bazacliu mbazacliu Data 6 august 2025 10:23:38
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <vector>
#include <unordered_map>
#include <climits>
using namespace std;

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

struct nimic{};

int main(){
    int n; int num, culoare;
    fin >> n;

    vector<int> v(n);
    unordered_map<int, nimic> start;

    int ssecv = -1;      int secvi = 0;
    int ssmax = INT_MIN; int smaxi, smaxj;

    for (int i = 1; secvi != i; i++){
        if (i > n){
            i = 0;
        }

        if (!(fin >> num >> culoare)) num = v[i-1];
        else {
            num *=1-(!culoare*2);
            v[i-1] = num;
        }

        if (ssecv < 0){
            if (start.count(i)) break;
            ssecv = 0;
            secvi = i;
            start[i] = nimic{};
        } ssecv += num;

        if (ssecv > ssmax){
            ssmax = ssecv;
            smaxi = secvi;
            smaxj = i;
        }
    }

    fout << ssmax << " " << smaxi << " " << (smaxj+n-smaxi)%n+1;
    return 0;
}