Cod sursa(job #1657957)

Utilizator Bodo171Bogdan Pop Bodo171 Data 20 martie 2016 22:11:43
Problema Buline Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include<fstream>
using namespace std;
int v[400005],i,a,semn,j,start,length,sum,bestsum,n;
int main()
{
    ifstream f("buline.in");
    ofstream g("buline.out");
    f>>n;
    for(i=1;i<=n;i++)
        {
        f>>a>>semn;
        if(semn==1)v[i]=a;
        else v[i]=a*(-1);
        v[n+i]=v[i];
        }
    for(i=1;i<=2*n;i++)
    {
        if(sum<0) {sum=v[i];j=i;}
        else sum+=v[i];
        if(i-j>=n) {sum-=v[j];j++;}
        while(v[j]<=0 &&j<i)
        {
            sum-=v[j];
            j++;
        }
        if(sum>bestsum)
        {
            bestsum=sum;
            if(j<=n)start=j;
            else start=j-n;
            length=i-j;
        }
    }
    g<<bestsum<<' '<<start<<' '<<length+1;

    return 0;
}