Cod sursa(job #1524668)

Utilizator daneel95Holteiu Daniel-Ninel daneel95 Data 14 noiembrie 2015 12:27:27
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <fstream>

using namespace std;

ifstream in("buline.in");
ofstream out("buline.out");

int n,x,bilet[400010];
bool culoare;

int main()
{
    int i,min,max,inceput,sfarsit,nr=0;
    in>>n;
    for(i=1;i<=n;i++)
    {
        in>>x>>culoare;
        if(culoare==0) x=-x;
        bilet[i]=bilet[i+n]=x;
    }
    max=-int(2e9);
    min=0;
    for(i=1;i<n+n;i++)
    {
        bilet[i]+=bilet[i-1];
        if(bilet[i]-min > max)
        {
            max=bilet[i]-min;
            sfarsit=i;
            inceput=nr+1;
        }
        if(bilet[i] < min)
        {
            min=bilet[i];
            nr=i;
        }
    }
    sfarsit=sfarsit-inceput+1;
    if(inceput>n) inceput-=n;
    out<<max<<" "<<inceput<<" "<<sfarsit;

    /*int i,max,min,sum=0,inceput,sfarsit,nr=0;
    in>>n;
    min=0;
    max=-int(2e9);
    sum=0;
    for(i=1;i<=n;i++)
    {
        sum+=;
        if(sum-min > max)
        {
            max=sum - min;
            sfarsit=i;
            inceput=nr+1;
        }
        if(sum < min)
        {
            min=sum;
            nr=i;
        }
    }*/
    in.close();
    out.close();
    return 0;
}