Cod sursa(job #2733238)

Utilizator TeodoraMaria123Serban Teodora Maria TeodoraMaria123 Data 30 martie 2021 10:00:08
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;
ifstream in("buline.in");
ofstream out("buline.out");
const int nmax=2e5+5;
int v[2*nmax];
int main()
{
    int n,i,semn,st,drmax,stmax,s,smax,l;
    in>>n;
    for(i=1; i<=n; i++)
    {
        in>>v[i]>>semn;
        if(!semn)
            v[i]*=-1;
        v[i+n]=v[i];
    }
    s=smax=v[1];
    st=stmax=drmax=1;
    l=i-st+1;
    for(i=1; i<=2*n; i++)
    {
        if(s+v[i]<v[i])
        {
            s=v[i];
            st=i;
        }
        else
            s+=v[i];
        if(s>smax)
        {
            smax=s;
            stmax=st;
            drmax=i;
        }
        l=i-st+1;
        if(l==n)
        {
            s-=v[st];
            st++;
        }
    }
    if(stmax>n)
        stmax-=n;
    out<<smax<<" "<<stmax<<" "<<drmax-stmax+1;
    return 0;
}