Cod sursa(job #2257139)

Utilizator vladm98Munteanu Vlad vladm98 Data 9 octombrie 2018 18:25:12
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ifstream fin ("ssm.in");
    ofstream fout ("ssm.out");
    int n;
    long long currentBestSum = 0, currentBest = -1000000000;
    ///currentBestSum -> retine subsecventa de suma maxima care se termina la poz curenta
    cin >> n;
    for (int i = 1; i <= n; ++i) {
        long long currentSum;
        cin >> currentSum;
        if (currentBestSum >= 0) { ///pana la poz i - 1 am o suma pozitiva
            currentSum += currentBestSum;
        }
        currentBest = max (currentBest, currentSum);
        currentBestSum = currentSum;
    }
    cout << currentBest;
    return 0;
}

/// valori: 2 1 5 -10  5   6
/// CBS   : 0 2 3  8  -2   5
/// CS    : 2 3 8  -2  5   11

///CB = 11