Cod sursa(job #3197850)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 27 ianuarie 2024 16:01:40
Problema Buline Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("buline.in");
ofstream fout("buline.out");
int rpMa, rpMi, pMi, pMa, lMa;
int ma, mi, sMi, sMa, lMi;
int n, i, sum, a, cul;

int main() {
    fin >> n;

    ma = INT_MIN;
    mi = INT_MAX;
    for(i = 1; i <= n; i++) {
        fin >> a >> cul;
        if(cul == 0) a *= -1;

        sum += a;

        if(sMa < 1) {
            sMa = a;
            pMa = i;
        }
        sMa += a;

        if(sMa > ma) {
            ma = sMa;
            rpMa = pMa;
            lMa = i - pMa + 1;
        }

        if(sMi > -1) {
            sMi = 0;
            pMi = i;
        }
        sMi += a;

        if(sMi < mi) {
            mi = sMi;
            rpMi = i + 1;
            lMi = n - i + pMi - 1;
        }
    }
    if(ma > sum - mi) fout << ma       << " " << rpMa << " " << lMa;
    else              fout << sum - mi << " " << rpMi << " " << lMi;

    return 0;
}