Cod sursa(job #2755259)

Utilizator Linca_AmaliaLinca Mihaela Amalia Linca_Amalia Data 26 mai 2021 22:13:43
Problema Buline Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int n, i, start, maxim, sol1, sol2, s, v[200005], color[200005];

int main(){
    fin >> n;
    for (i = 1; i <= n; i++)
        fin >> v[i] >> color[i];
    for (i = 1; i <= n; i++){
        if ( color[i] == 0 )
            v[i] = 0 - v[i];
    }
    for (i = n + 1; i <= n * 2; i++){
        v[i] = v[i-n];
    }
    for (i = 1; i <= n * 2; i++){
        if ( s + v[i] > v[i] ){
            s = s + v[i];
        }else{
            s = v[i];
            start = i;
        }
        if ( i - start + 1 > n ){
                s -= v[start];
                start++;
            }
        if ( s > maxim ){
            maxim = s;
            sol1 = start;
            sol2 = i;
        }
    }
    fout << maxim << " " << sol1 << " " << sol2 - sol1 + 1;
    return 0;
}