Cod sursa(job #2892690)

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

#define INF ((int)1e9)

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main(void) {
    int n;
    fin >> 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;
        fin >> a;

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

        if (mx_val < dp) {
            mx_val = dp;

            left = neg_index;
            right = i;
        }
    }

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

    return 0;
}