Cod sursa(job #2981502)

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

using namespace std;

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

const int NMAX = 6000001;

int n;
long long partialSums[NMAX];

void readData() {
    fin >> n;
    int number;
    for (int i = 1; i <= n; ++i) {
        fin >> number;
        partialSums[i] = partialSums[i - 1] + number;
    }
}

void computeMaximalSumSubsequence() {
    long long sum = 0, maximumSum = 0;
    int begin = 0, end = 0;
    for (int i = 1; i <= n; ++i) {
        for (int j = i; j <= n; ++j) {
            sum = partialSums[j] - partialSums[i - 1];
            if (sum > maximumSum) {
                maximumSum = sum;
                begin = i;
                end = j;
            }
        }
    }

    fout << maximumSum << ' ' << begin << ' ' << end;
}

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