Cod sursa(job #3169238)

Utilizator Robert_MitriRobert Mitri Robert_Mitri Data 14 noiembrie 2023 14:54:25
Problema Buline Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>
#include <deque>
#define INF 0x3FFFFFFF
using namespace std;

ifstream fin("buline.in");
ofstream fout("buline.out");
int n;

int v[2 * 200000 + 5];

struct sss{
int s;
int l;
int i;
}smax,max_,smin,min_;

int p,l;
int pm,lm;
int stot;

int main()
{
    fin>>n;
    smax.s = -INF;
    smin.s = INF;
    for(int i=1;i<=n;i++)
    {
        int k;
        fin>>v[i]>>k;
        if(k==0)
            v[i]*=-1;
        stot+=v[i];
        if(smax.s + v[i] < v[i])
            smax={v[i],1,i};
        else
            smax={smax.s + v[i],smax.l+1,smax.i};
        if(smin.s + v[i] > v[i])
            smin={v[i],1,i};
        else
            smin={smin.s + v[i],smin.l+1,smin.i};
        if(max_.s<smax.s)
            max_ =smax;
        if(min_.s>smin.s)
            min_ = smin;
    }

    if(max_.s >= stot-min_.s)
    {
        fout<<max_.s<<' '<<max_.i<<' '<<max_.l;
        return 0;
    }
    fout<<stot-min_.s<<' '<<min_.i + min_.l<<' '<<n - min_.l;



}