Cod sursa(job #1687245)

Utilizator Bodo171Bogdan Pop Bodo171 Data 12 aprilie 2016 18:54:50
Problema Buline Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include<fstream>
using namespace std;
int v[200005],p,u,i,semn,n,s,bestsum,l,poz;
int main()
{
    ifstream f("buline.in");
    ofstream g("buline.out");
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>v[i]>>semn;
        if(!semn) v[i]*=-1;
        v[n+i]=v[i];
    }
    for(i=1;i<=n;i++)
    {
        if(s<=0)
        {
            p=i;
            u=i;
            s=v[i];
        }
        else
        {
            u++;
            s+=v[i];
        }
        if(s>bestsum) {bestsum=s;l=u-p+1;poz=p;}
    }
     for(i=1;i<=n;i++)
    {
        if(s<=0)
        {
            p=i;
            u=i;
            s=v[i];
        }
        else
        {
            u++;
            s+=v[i];
        }
        if(p==u-n) {p++;s-=v[i];}
        while(v[p]<0&&p<u)
        {
            s-=v[p];
            p++;
        }
        if(s>bestsum) {bestsum=s;l=u-p+1;poz=p;}
    }
    g<<bestsum<<' '<<poz<<' '<<l;
    return 0;
}