Cod sursa(job #2117694)

Utilizator mirceaisherebina mircea mirceaishere Data 29 ianuarie 2018 10:24:59
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 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, smax, pozmax, lmax, k, poz, nr, sol;
int v[400002];
int main(){
    fin>>n;
    for(i=1; i<=n; i++){
        fin>>nr>>poz;
        if(poz==0)
            poz=-1;
        v[i]=nr*poz;
        v[n+i]=v[i];
    }
    for(i=1; i<n+n; i++){
        if(l<n){
            if(v[i]>=s+v[i]){
                s=v[i];
                l=1;
            }else{
                s=s+v[i];
                l++;
            }
            if(s>smax){
                smax=s;
                pozmax=i-l+1;
                lmax=l;
            }
        }else{
            if(v[i]>s){
                s=v[i];
                l=1;
            }
        }
    }
    fout<<smax<<" "<<pozmax<<" "<<lmax;
}