Cod sursa(job #3031616)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 20 martie 2023 14:25:50
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
long long n, smax, l, r, d[6000005], curr, Min, start, x;

int main() {

    in>>n;
    Min = 0;
    smax = -1e15;
    for (int i = 1; i <= n; i++) {
        cin>>x;
        curr += x;
        d[i] = curr - Min;

        if (d[i] > smax) {
            smax = d[i];
            l = start;
            r = i;
        }

        if (curr < Min) {
            Min = curr;
            start = i + 1;
        }
    }

    out<<smax<<" "<<l<<" "<<r<<'\n';
}