Cod sursa(job #3228766)

Utilizator razvan242Zoltan Razvan-Daniel razvan242 Data 11 mai 2024 09:55:16
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 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) {
        if (sum < 0) {
            sum = sir[i];
            currentBegin = i;
        }
        else {
            sum += sir[i];
        }
        if (sum > bestSum) {
            bestEnd = i;
            bestSum = sum;
            bestBegin = currentBegin;
        }
    }

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