Cod sursa(job #2848369)

Utilizator Teodor11Posea Teodor Teodor11 Data 12 februarie 2022 14:14:35
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;

int n, st, dr, v[6000001], s[6000001];

int main() {
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> v[i];
        s[i] = s[i - 1] + v[i];
    }
    for (int i = n; i > 0; --i) {
        if (s[0] <= s[i]) {
            s[0] = s[i];
            dr = i;
        }
    }
    for (int i = dr; i > 0; --i) {
        if (s[0] > s[i]) {
            s[0] = s[i];
            st = i;
        }
    }
    fout << s[dr] - s[st++] << ' ' << st << ' ' << dr;
    return 0;
}