Cod sursa(job #3204911)

Utilizator not_anduAndu Scheusan not_andu Data 18 februarie 2024 10:04:18
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;

#define INFILE "ssm.in"
#define OUTFILE "ssm.out"

typedef long long ll;

void solve(){

    int n; cin >> n;
    int sum = 0, ans = INT_MIN, j = 1;
    int left = 1, right = 1;

    for(int i = 1; i <= n; ++i){
        int aux; cin >> aux;
        sum += aux;
        if(sum > ans){
            ans = sum;
            left = j, right = i;
        }
        if(sum < 0){
            sum = 0;
            j = i + 1;
        }
    }

    cout << ans << " " << left << " " << right << '\n';

}

int main(){
    ios_base::sync_with_stdio(false);
    freopen(INFILE, "r", stdin);
    freopen(OUTFILE, "w", stdout);
    cin.tie(0), cout.tie(0);
    solve();
    return 0;
}