Cod sursa(job #2733246)

Utilizator Alex74Velicu Alexandru Stefan Alex74 Data 30 martie 2021 10:10:50
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>

using namespace std;
fstream fin("buline.in",ios::in);
fstream fout("buline.out",ios::out);
int v[400005];
int main()
{
    int n,st,num,val,stmax,length,lengthmax;
    long long sum,summax;
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>num>>val;
        if(val)
            v[i]=v[n+i]=num;
        else
            v[i]=v[n+i]=-num;
    }

    st=stmax=length=lengthmax=1;
    sum=summax=v[1];
    for(int i=2;i<=2*n;++i)
    {
        if(sum+v[i]<v[i])
        {
            st=i;
            sum=v[i];
            length=1;
        }
        else
        {
            sum+=v[i];
            ++length;
        }
        if(sum>summax && length<=n)
        {
            summax=sum;
            lengthmax=length;
            stmax=st;
        }
    }
    fout<<summax<<" "<<stmax%n<<" "<<lengthmax;
    return 0;
}