Cod sursa(job #3229764)

Utilizator tudor_cretuCretu Mihnea Tudor tudor_cretu Data 17 mai 2024 13:55:41
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int main() {
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    int n, indice_start = 1, indice_final, max_sum = 0;
    fin >> n;

    vector<int> a(n);
    vector<int> dp; 
    for (int i = 0; i < n; i++) {
        fin >> a[i];

    }
    dp.push_back(a[0]);

    for (int i = 1; i < n; i++) {
        dp.push_back(max(a[i], dp[i-1] + a[i]));
        if (a[i] > dp[i-1] + a[i]) {
            indice_start = i + 1;
        }
        if (dp.back() > max_sum) {
            max_sum = dp.back(); 
            indice_final = i + 1;
        }
    }
    fout << max_sum << " " << indice_start << " " << indice_final << endl;

    fin.close();
    fout.close();
    return 0;
}