Cod sursa(job #2122953)

Utilizator luizabriciuBriciu Luiza luizabriciu Data 5 februarie 2018 17:45:25
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;

int v[400008];

int main()
{
    int n,i,li=1,lf=1,sumint=0,sumopt=INT_MIN,b,c,l=0,k=0,u;
    ifstream f("buline.in");
    ofstream g("buline.out");
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>b>>c;
        if(c==0)
        {
           v[i]=v[n+i]=-b;
        }
        else
        {
            v[i]=v[n+i]=b;
        }
    }
    /*for(i=1;i<=n*2;i++)
        cout<<v[i]<<" ";
        u=v[1];*/
    k=1;
    for(i=1;i<=n*2;i++)
    {
        if(k==li&&li!=lf)
            break;
        if(sumint<0)
            sumint=v[i],li=lf=i,u=v[i];
        else
        {
            sumint+=v[i];
            if(sumint>sumopt)
            {
                sumopt=sumint;
               /// u=v[i];
                lf=i;
                ///k=lf;
            }
        }
        if(i==n)
            k=1;
        else
            k++;
    }
    g<<sumopt<<" "<<li<<" "<<lf-li+1;
    f.close();
    g.close();
    return 0;
}