Cod sursa(job #2116518)

Utilizator maria15Maria Dinca maria15 Data 27 ianuarie 2018 18:27:15
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;

int n, i, maxim, suma, sol1, p, L;
short culoare, nr, s[400005];

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

int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>nr>>culoare;
        if(culoare == 0)
            s[i] = nr*(-1);
        else
            s[i] = nr;
        if(i!=n)
            s[i+n] = s[i];
    }
    maxim = suma = s[1];
    p = 1;
    for(i=2;i<2*n;i++){
        if(suma >= 0)
            suma += s[i];
        else
            suma = s[i], p = i;
        if(suma > maxim){
            maxim = suma;
            sol1 = p;
            L = i-p+1;
            if(sol1 > n)
                sol1-=n;
        }
    }
    fout<<maxim<<" "<<sol1<<" "<<L;
    return 0;
}