Cod sursa(job #3269876)

Utilizator cosmin_mihaiDumitru Cosmin cosmin_mihai Data 21 ianuarie 2025 12:09:25
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
//
// Created by Cosmin Dumitru on 21.01.2025.
//
#include <fstream>
using namespace std;

const int NMAX = 1e6;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

int n;
int v[6000000+1];

int main() {
    cin >> n;
    for (int i = 1; i <= n; ++i) {
        cin >> v[i];
    }

    int max_sum = v[1], current_sum = v[1];
    int start = 1, end = 1, temp_start = 1;

    for (int i = 2; i <= n; ++i) {
        if (current_sum + v[i] > v[i]) {
            current_sum += v[i];
        } else {
            current_sum = v[i];
            temp_start = i;
        }

        if (current_sum > max_sum) {
            max_sum = current_sum;
            start = temp_start;
            end = i;
        }
    }

    cout << max_sum << ' ' << start << ' ' << end;
    return 0;
}