Cod sursa(job #2981506)

Utilizator razvan242Zoltan Razvan-Daniel razvan242 Data 18 februarie 2023 09:45:48
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <climits>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n;

void computeMaximalSumSubsequence() {
    fin >> n;

    long long number;
    long long currentSum = 0, maximumSum = INT_MIN;
    int begin, end, startIndex = 1;

    for (int i = 1; i <= n; ++i) {
        fin >> number;

        if (currentSum < 0) {
            currentSum = 0;
            startIndex = i;
        }

        currentSum += number;
        if (currentSum > maximumSum) {
            maximumSum = currentSum;
            end = i;
            begin = startIndex;
        }
    }
    fout << maximumSum << ' ' << begin << ' ' << end << '\n';
}

int main()
{
    computeMaximalSumSubsequence();
    return 0;
}