Cod sursa(job #3228764)

Utilizator razvan242Zoltan Razvan-Daniel razvan242 Data 11 mai 2024 09:45:12
Problema Subsecventa de suma maxima Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;

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

int sir[6000001];
int partialSum[6000001];

int main() {
    int n;
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> sir[i];
        partialSum[i] = partialSum[i - 1] + sir[i];
    }

    int bestSum = -2000000000, bestBegin, bestEnd;
    int sum;
    for (int left = 1; left <= n; ++left) {
        for (int right = left; right <= n; ++right) {
            sum = partialSum[right] - partialSum[left - 1];

            if (sum > bestSum) {
                bestSum = sum;
                bestBegin = left;
                bestEnd = right;
            }
        }
    }

    fout << bestSum << ' ' << bestBegin << ' ' << bestEnd << '\n';
    return 0;
}