Cod sursa(job #1975448)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 30 aprilie 2017 23:11:27
Problema Buline Scor 100
Compilator cpp Status done
Runda usu1 Marime 0.69 kb
#include <fstream>
using namespace std;
ifstream f ("buline.in");
ofstream g ("buline.out");
int n,v[400000],y,s,l,p,s1,s2,s3,l1,l2;
int main()
{
    f>>n;
    for(int i=1;i<=n;++i)
    {
        f>>v[i]>>y;
        if(!y) v[i]=-v[i];
        s3+=v[i];
    }
    for(int i=1;i<=n;++i)
    {
        s1=s1+v[i];
        ++l1;
        if(s1<v[i]) s1=v[i],l1=1;
        s2=s2-v[i];
        ++l2;
        if(s2<-v[i]) s2=-v[i],l2=1;
        if(s1>s)
        {
            s=s1;
            p=i-l1+1;
            l=l1;
        }
        if(s3+s2>s)
        {
            s=s3+s2;
            p=i+1;
            l=n-l2;
        }
    }
    g<<s<<' '<<p<<' '<<l;
    return 0;
}