Cod sursa(job #1795422)

Utilizator AnduB08Boldisor Andu AnduB08 Data 2 noiembrie 2016 13:44:17
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
bool a;
int n,i,v[200010],l,p,lmax,pmax,u;
long long s,smax;
int main()
{
    f>>n;
    for(i=1;i<=n;++i)
    {
        f>>v[i]>>a;
        if(a==0)
            v[i]=-v[i];
    }
    for(i=1;i<=n;++i)
    {
        if(s+v[i]>=v[i])
        {
            l++;
            s+=v[i];
        }
        else
        {
            p=i;
            l=1;
            s=v[i];
        }
        if(smax<s)
        {
            smax=s;
            lmax=l;
            pmax=p;
            u=i;
        }
    }
    for(i=1;i<u;++i)
    {
        if(s+v[i]>=v[i])
        {
            l++;
            s+=v[i];
        }
        else
        {
            p=i;
            l=1;
            s=v[i];
        }
        if(smax<s)
        {
            smax=s;
            lmax=l;
            pmax=p;
        }
    }
    g<<smax<<" "<<pmax<<" "<<lmax;
    return 0;
}