Cod sursa(job #2117443)

Utilizator MihneaGhiraMihnea MihneaGhira Data 28 ianuarie 2018 21:14:02
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<fstream>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int n,i,x,s,maxim,L,pmax,lmax;
int v[400005];
int main(){
    fin>>n;
    maxim=-200000000;
    for(i=1;i<=n;i++){
        fin>>v[i]>>x;
        if(x==0)
            v[i]*=-1;
        v[n+i]=v[i];
    }
    s=0;
    for(i=1;i<=2*n-1;i++){
        if(v[i]<=s+v[i]){
            if(maxim<s){
                maxim=s;
                pmax=i-L;
                lmax=L;
            }
            if(L==n){
                s=v[i];
                L=1;
                continue;
            }
            s+=v[i];
            L++;
        }
        else{
            if(maxim<s){
                maxim=s;
                pmax=i-L;
                lmax=L;
            }
            s=v[i];
            L=1;
        }
    }
    fout<<maxim<<" "<<pmax<<" "<<lmax;
    return 0;
}