Cod sursa(job #3275196)

Utilizator uncle_sam_007ioan bulik uncle_sam_007 Data 9 februarie 2025 13:56:49
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

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

const int INF = 1e9;

void solve(){
    int n, x;
    int len = 0, res_len = 0, dr;
    int max_ending = -INF;
    int res = -INF;
    fin >> n;
    for(int i = 1; i <= n; ++i){
        fin >> x;
        if(max_ending + x < x){
            len = 1;
            max_ending = x;
        }
        else{
            len ++;
            max_ending = max_ending + x;
        }
        if(res < max_ending){
            res = max_ending;
            dr = i;
            res_len = len;
        }
    }
    fout << res << " " << dr - len + 2 << " " << dr;
}

int main()
{
    solve();
    return 0;
}