Cod sursa(job #2930599)

Utilizator victor_gabrielVictor Tene victor_gabriel Data 28 octombrie 2022 20:54:16
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <climits>

using namespace std;

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

const int DIM = 200001;
int n;
int v[DIM];
int sMax = INT_MIN, pMax = 0, lMax = 0, minn = INT_MAX;
int p = 1, l = 0, s = 0;

void getMaxSeqSum(int start, int end) {
    for (int i = start; i <= end; i++) {
        if (s < 0) {
            s = v[i];
            p = i, l = 1;
        } else {
            s += v[i];
            l++;
        }

        if (s > sMax) {
            sMax = s;
            pMax = p, lMax = l;
        }
        minn = min(minn, v[i]);
    }
}

int main() {
    fin >> n;
    for (int i = 1; i <= n; i++) {
        int val, color;
        fin >> val >> color;
        v[i] = (color ? val : -val);
    }

    getMaxSeqSum(1, n);
    getMaxSeqSum(1, p - 1);

    fout << sMax << ' ' << pMax << ' ' << lMax;

    return 0;
}