Cod sursa(job #2116882)

Utilizator mirceaisherebina mircea mirceaishere Data 28 ianuarie 2018 11:56:30
Problema Buline Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 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; i++){
        l=0;
        s=0;
        for(j=i; j<n+i; j++){
            if(v[j]>=s+v[j]){
                s=v[j];
                l=1;
            }else{
                s=s+v[j];
                l++;
            }
            if(s>smax){
                smax=s;
                pozmax=j-l+1;
                lmax=l;
            }
        }
    }
    fout<<smax<<" "<<pozmax<<" "<<lmax;
}