Cod sursa(job #1154019)

Utilizator ralucik_2006Filimon Raluca Elena ralucik_2006 Data 25 martie 2014 21:54:59
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;

int n,i,a[400002],tip,sum[400002],mx,p,pr,ul,nr;

int main()
{
    ifstream f("buline.in");
    ofstream g("buline.out");
    f>>n;
    for (i=1;i<=n;i++)
    {
        f>>a[i]>>tip;
        if (tip==0) a[i]=0-a[i];
    }
    nr=0;
    for (i=n+1;i<=n*2-1;i++)
    {
        nr++;
        a[i]=a[nr];
    }
    p=1;mx=a[1];
    for (i=1;i<=n+n-1;i++)
    {
        sum[i]=sum[i-1]+a[i];
        if (sum[i]<=0)
        {
            sum[i]=0;
            p=i+1;
        }
        else
        {
            if (sum[i]>mx && i-p+1<=n)
            {
                mx=sum[i];
                pr=p;
                ul=i;
            }
        }
    }
    g<<mx<<" "<<pr<<" "<<ul-pr+1;
    return 0;
}