Cod sursa(job #3275277)

Utilizator SwanOCPica Razvan Mihai SwanOC Data 9 februarie 2025 17:28:02
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, x, suma, l, suma_max, lmax;
int idx_start, idx_end;

int main(void) {

    in >> n;
    for (int i = 1; i <= n; i++) {
        in >> x;
        if (suma + x > x) {
            suma += x;
            l++;
        } else {
            suma = x;
            l = 1;
        }

        if (suma > suma_max) {
            suma_max = suma;
            idx_end = i;
            idx_start = i - l + 1;
            lmax = l;
        } else if (suma == suma_max && l < lmax) {
            idx_end = i;
            idx_start = i - l + 1;
            lmax = l;
        }
    }

    out << suma_max << " " << idx_start << " " << idx_end;
    return 0;
}