Cod sursa(job #3283933)

Utilizator _andr31Rusanescu Andrei-Marian _andr31 Data 10 martie 2025 18:35:06
Problema Buline Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
    ifstream fin("buline.in");
    ofstream fout("buline.out");
    int n, culoare, total = 0;
    fin >> n;
    vector<int> v(n);
    vector<int> s(n);

    for (int i = 0; i < n; ++i) {
        fin >> v[i] >> culoare;
        if (!culoare)
            v[i] *= -1;
        total += v[i];
    }
    int minn = v[0], end = n, start = 1, i, len = n;
    s[0] = v[0];
    for (i = 1; i < n; ++i) {
        if (s[i-1] + v[i] > v[i]) {
            s[i] = v[i];
            start = i + 1;
        } else {
            s[i] = s[i-1] + v[i];
        }
        if (s[i] < minn) {
            minn = s[i];
            end = i + 1;
            len = end - start;
        }
    }
    if (end + 1 == n)
        i = 1;
    else
        i = end + 1;

    fout << total - minn << " " << i << " " << end - len + 1;
    return 0;
}