Cod sursa(job #2892689)

Utilizator mihnea.tTudor Mihnea mihnea.t Data 23 aprilie 2022 11:03:15
Problema Subsecventa de suma maxima Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

#define INF ((int)1e9)

using namespace std;

int main(void) {
    freopen("ssm.in", "rt", stdin);
    freopen("ssm.out", "wt", stdout);

    int n;
    cin >> n;

    int neg_index = -1;
    int mx_val = -INF;
    int dp = 0;
    int left = -1, right = -1;
    for (int i = 0; i < n; ++i) {
        int a;
        cin >> a;

        if (dp < 0) {
            dp = a;
            neg_index = i;
        } else {
            dp += a;
        }

        if (mx_val < dp) {
            mx_val = dp;

            left = neg_index;
            right = i;
        }
    }

    cout << mx_val << " " << left + 1 << " " << right + 1 << "\n";

    return 0;
}