Cod sursa(job #3202643)

Utilizator ito726Petrescu Victor Gabriel ito726 Data 12 februarie 2024 08:34:38
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <fstream>

using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int v[400005];
int main()
{
    int n,i,s,nr,semn,st,dr,smax,drm,stm;
    fin>>n;
    s=0;
    dr=st=1;
    drm=stm=1;
    smax=0;
    for(i=1;i<=n;i++)
    {
        fin>>nr>>semn;
        if(semn==0)
            nr=-nr;
        v[i]=nr;
        v[i+n]=nr;
    }
    for(i=1;i<=2*n;i++)
    {
        if(s+v[i]<v[i])
        {
            s=v[i];
            st=dr=i;
        }
        else
        {
            s=s+v[i];
            dr=i;
        }
        if(dr-st+1<n)
        {
            if(s>smax)
            {
                smax=s;
                stm=st;
                drm=i;
            }
            else
                if(s==smax)
                {
                    if(drm-stm+1<n)
                    {
                        if(st<=stm)
                            if(dr<=drm)
                                drm=dr;
                    }
                }
        }
        else
            break;
    }
    fout<<smax<<" "<<stm<<" "<<drm-stm+1;
    fin.close();
    fout.close();
    return 0;
}