Cod sursa(job #1716107)

Utilizator ade_tomiEnache Adelina ade_tomi Data 11 iunie 2016 23:01:12
Problema Buline Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<iostream>
#include<fstream>
using namespace std;
int i,n,maxi,v[200004],l,sum,i1,poz,semn;
int main()
{

    ifstream cin("buline.in");
    ofstream cout("buline.out");
    cin>>n;
    for(i=1;i<=n;i++)
    {

        cin>>v[i]>>semn;
        if(semn==0)
            v[i]*=-1;
    }
    for(i=1;i<=n;i++)
        v[i+n]=v[i];
    i1=1;
    for(i=1;i<=2*n;i++)
    {

        while(i-i1>=n||sum<0)
        {

            sum-=v[i1];
            i1++;
        }
        if(sum>maxi)
        {

            maxi=sum;
            poz=i1;
            l=i-i1;
        }
        sum+=v[i];
        if(sum<0)
        {
            sum=0;
            i1=i+1;

        }

        if(sum>maxi)
        {

            maxi=sum;
            poz=i1;
            l=i-i1+1;
        }

    }
    cout<<maxi<<" "<<poz<<" "<<l;
    return 0;

}