Cod sursa(job #2733261)

Utilizator ioana3317ioanapopescu ioana3317 Data 30 martie 2021 10:22:58
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <fstream>

using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int v[200002];
int main()
{
    int n,i,st,stmax,drmax,sc,smax,x,l,lm,j;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>v[i]>>x;
        if(x==0)
            v[i]=v[i]*(-1);
    }
    st=stmax=drmax=1;
    sc=smax=v[1];
    lm=n;
    for(j=1;j<=2;j++)
    {
        if(j==2)
            i=1;
        else
            i=2;
        while(i<=n)
        {
            if(j==2 && i==stmax)
                break;
            if(sc+v[i]<v[i])
            {
                sc=v[i];
                st=i;
                l=1;
            }
            else
            {
                sc=sc+v[i];
                l++;
            }
            if(sc>smax)
            {
                smax=sc;
                stmax=st;
                drmax=i;
                lm=l;
            }
            else
                if(sc==smax)
                    if(l<lm)
                    {
                        lm=l;
                        smax=sc;
                        stmax=st;
                        drmax=i;
                    }
            i++;
        }
    }
    fout<<smax<<" "<<stmax<<" "<<lm;
    return 0;
}