Cod sursa(job #2072813)

Utilizator dragos.galeteanu2001Dragos Iulian dragos.galeteanu2001 Data 22 noiembrie 2017 11:39:08
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int main()
{
    long int S[100], v[100], x, y, n, S_max, Suma, P, poz, i, j, L;
    f>>n;
    for (i=0;i<n;i++) { f>>x>>y;
        if (!y) { v[i]=-x; v[i+n]=-x; }
        else { v[i]=x; v[i+n]=x; }
    }
    S[0]=v[0];
    for (S_max=Suma=v[0], x=P=poz=0, i=L=1; i<2*n; i++) {
        if (Suma<0 || x==n) { Suma=v[i]; poz=i; x=1; }
        else { Suma+=v[i]; x++;
            if (S_max<Suma) { S_max=Suma; P=poz; L=i-poz+1; }
        }
        S[i]=Suma;
    }
    //S_max=S[P]; L=1; j=P;
    //for (i=P+1;i<P+n;i++)
    //{
        //if (S[i]>S[i-1]) { for (x=j+1;x<=i;x++) S_max+=S[x];
                                         //L+=i-j; j=i; }
    //}

    g<<S_max<<' '<<(P+1)<<' '<<L;
    return 0;
}