Cod sursa(job #3258133)

Utilizator BogdanDavDavid Bogdan BogdanDav Data 21 noiembrie 2024 10:42:45
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
using namespace std;
ifstream cin("buline.in");
ofstream cout("buline.out");
int n,v[400002],lmax,stmax,smax=-1e9;
int main()
{
    cin>>n;
    int semn;
    for(int i=1;i<=n;i++){

        cin>>v[i]>>semn;
        if(semn==0)
            v[i+n]=v[i]=-v[i];
        else
            v[i+n]=v[i];
    }
    int l=1,s=0,st=0;
    for(int i=1;i<2*n;i++){
        if(l==n){
            s-=v[st];
            st++;
            continue;
        }
        if(s<0){
            s=v[i];
            st=i;
            l=1;
        }else
        {
            s+=v[i];
            l++;
        }
        if(s>smax){
            smax=s;
            stmax=st;
            lmax=l;
        }
    }
    cout<<smax<<' '<<stmax<<' '<<lmax;
    return 0;
}