Cod sursa(job #3166860)

Utilizator panterasbook29Turcu Stiolica Alexandru panterasbook29 Data 9 noiembrie 2023 18:09:34
Problema Buline Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <climits>
using namespace std;

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

int n,x,k;
int sm=INT_MIN,s,st=1,dr,stf,drf;
int v[200005];
int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>x>>k;
        if(k==1)
            v[i]=x;
        else
            v[i]=0-x;
    }
    for(int i=1; i<=n; i++)
    {
        if(s+v[i]>=v[i])
            s+=v[i];
        else
        {
            s=v[i];
            st=i;
        }
        if(s>sm)
        {
            sm=s;
            stf=st;
            drf=i;
        }
    }
    int i=1;
    while(s+v[i]>=v[i])
    {
        s+=v[i];
        if(s>sm)
        {
            sm=s;
            stf=st;
            drf=i;
        }
    }
    fout<<sm<<" "<<stf<<" "<<drf;
}