Cod sursa(job #2548495)

Utilizator mirceaisherebina mircea mirceaishere Data 16 februarie 2020 18:58:13
Problema Buline Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");

int n, m, i, j, s, x, l, d, smax1, pozmax1, lmax1, smax2, pozmax2, lmax2, k, poz, nr, sol, stotal;
int v[200002];
int main(){
    fin>>n;
    for(i=1; i<=n; i++){
        fin>>nr>>poz;
        if(poz==0)
            poz=-1;
        v[i]=nr*poz;
        stotal+=v[i];
    }
    for(i=1; i<=n; i++){
        if(v[i]>=s+v[i]){
            s=v[i];
            l=1;
        }else{
            s=s+v[i];
            l++;
        }
        if(s>smax1){
            smax1=s;
            pozmax1=i-l+1;
            lmax1=l;
        }
    }
    for(i=1; i<=n; i++){
        if(v[i]<=s+v[i]){
            s=v[i];
            l=1;
        }else{
            s=s+v[i];
            l++;
        }
        if(s<=smax2){
            smax2=s;
            pozmax2=i-l+1;
            lmax2=l;
        }
    }
    if(smax1>=stotal-smax2)
        fout<<smax1<<" "<<pozmax1<<" "<<lmax1;
    else
        fout<<stotal-smax2<<" "<<pozmax2+lmax2<<" "<<n-lmax2;
}