Cod sursa(job #3142266)

Utilizator Alex_DumitrascuAlex Dumitrascu Alex_Dumitrascu Data 20 iulie 2023 13:35:36
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#define ll long long
using namespace std;
int main()
{
    cin.tie(0);
    cin.sync_with_stdio(false);
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
    ll n, s=0, x, maxis=-1000000000000;
    ll left, right, ml, mr;
    cin>>n;
    for (int i=1; i<=n; i++) {
        cin>>x;
        s+=x;
        if (s<=0) {
            s=0;
            left=i+1;
        }
        if (s>maxis) {
            right=i;
            maxis=s;
            ml=left; mr=right;
        }
    }
    if (right<left) {
        right=n;
    }
    cout<<maxis<<' '<<ml<<' '<<mr;
    return 0;
}