Cod sursa(job #3336172)

Utilizator TeocipTudorica Ciprian Teodor Teocip Data 24 ianuarie 2026 13:03:02
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int main(){
    int n, sum_cur = 0, sum_max = 0, st, dr, lc_i = 0, l_max = 0;
    fin >> n;
    for(int i = 0; i < n; i++){
        int x_i;
        fin >> x_i;
        if(sum_cur + x_i >= 0){
            sum_cur += x_i;
            lc_i++;
        }else{
            sum_cur = 0;
            lc_i = 0;
        }
        if(sum_cur > sum_max){
            sum_max = sum_cur;
            l_max = lc_i;
            st = i - lc_i + 1;
            dr = i;
        }else if(sum_cur == sum_max){
            if(lc_i < l_max){
            sum_max = sum_cur;
            l_max = lc_i;
            st = i - lc_i + 1;
            dr = i;                
            }
        }
    }
    st++;
    dr++;
    fout << sum_max << " " << st << " " << dr;
    return 0;
}