Cod sursa(job #3345312)

Utilizator goldshirefolkDragusoiu Bogdan Ioan goldshirefolk Data 9 martie 2026 09:51:01
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>
using namespace std;

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

int main() {
    int n;
    fin >> n;
    int current;
    fin >> current;
    int current_sum = current;
    int max_sum = current;

    int left = 0;
    int right = 0;
    int max_left = 0;
    int max_right = 0;

    for (int i = 1; i < n; i++) {
        fin >> current;

        current_sum += current;

        if (current_sum > max_sum) {
            max_sum = current_sum;
            max_left = left + 1;
            max_right = i + 1;
        }

        if (current_sum < 0) {
            if (current > max_sum) {
                max_sum = current;
                max_left = i;
                max_right = i;
            }

            current_sum = 0;
            left = i + 1;
        }
    }

    fout << max_sum << ' ' << max_left << ' ' << max_right;

    return 0;
}