Cod sursa(job #3228765)

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

using namespace std;

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

int sir[6000001];

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

    int bestSum = -2000000000, bestBegin, bestEnd;
    int sum = 0, currentBegin = 1;

    for (int i = 1; i <= n; ++i) {
        sum += sir[i];

        if (sum < 0) {
            sum = sir[i];
            currentBegin = i;
        }
        if (sum > bestSum) {
            bestEnd = i;
            bestSum = sum;
            bestBegin = currentBegin;
        }
    }

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