Cod sursa(job #2055591)

Utilizator ptudortudor P ptudor Data 3 noiembrie 2017 14:53:41
Problema Buline Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
    ifstream in("buline.in");
    ofstream out("buline.out");
    int n;
    in>>n;
    int v[200001];
    int x,i;
    for (i=1;i<=n;i++)
    {
    in>>v[i]>>x;
    if (x==0)
        v[i]=v[i]*-1;
    }
    int st2;
    int len=0,k;
    int st=1,s=0,m=v[i];
    for (k=1;k<=n;k++)
    {
        if (v[k]>0)
        {st=k;s=0;
    for (i=k;i<=n;i++)
    {
        s=s+v[i];
        if (s>m)
            {m=s;len=i-st+1;st2=st;}
        if (s<0)
        {s=0;st=i+1;}
    }
    for (i=1;i<st;i++)
    {
        s=s+v[i];
        if (s>m)
            {m=s;len=i+n-st+1;st2=st;}
        if (s<0)
            s=0;
    }
        }
    }
    out<<m<<" "<<st2<<" "<<len;
}