Cod sursa(job #3283914)

Utilizator _andr31Rusanescu Andrei-Marian _andr31 Data 10 martie 2025 18:04:07
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;
int main() {
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");

    int n;
    fin >> n;
    vector<int> v(n);
    vector<int> s(n);
    
    for (int i = 0; i < n; ++i) {
        fin >> v[i];
    }
    int maxx = v[0], end = n, start = 1;
    int i;

    s[0] = v[0];
    for (i = 1; i < n; ++i) {
        if (s[i-1] + v[i] < v[i]) {
            s[i] = v[i];
            start = i + 1;
        } else {
            s[i] = s[i-1] + v[i];
        }
        if (s[i] > maxx) {
            maxx = s[i];
            end = i + 1;
        }
    }

    fout << maxx << " " << start << " " << end;
    return 0;
}