Cod sursa(job #2069671)

Utilizator dragos.galeteanu2001Dragos Iulian dragos.galeteanu2001 Data 18 noiembrie 2017 18:16:05
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
long int n, i, a, b,  poz, P, L, j, v[400000], Max[400000], s1[400000];
long long int Suma=0, S_max=LONG_LONG_MIN;
int main()
{
    f>>n;
    for (i=0; i<n; i++) {
        f>>a>>b;
        if (b) v[i]=v[i+n]=a;
        else v[i]=v[i+n]=-a;
        Suma+=v[i];
        s1[i]=Suma;
    }
    Max[0]=v[0];
    for (i=1; i<n; i++) {
        if (s1[i]>Max[i-1]) Max[i]=s1[i];
        else Max[i]=Max[i-1];
    }

    S_max=s1[n-1];
    for (i=1; i<n; i++) {
        Suma=s1[n-1]-s1[i-1]+Max[i-1];
        if (Suma>S_max) S_max=Suma;
        P=i; L=5;
    }

    g<<S_max<<' '<<P<<' '<<L;
    f.close();
    g.close();
    return 0;
}