Cod sursa(job #2890982)

Utilizator mirunavramMiruna Avram mirunavram Data 17 aprilie 2022 12:21:58
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include<bits/stdc++.h>
using namespace std;
int n;
long long sol = LONG_MIN;
long long mp,sp;
int main() {
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    fin >> n; long long indexFinal,indexInitial,finLeft,stanga;
    sp = 0;
//mp[0] = 0;
    mp = 0; for (long long i = 1; i <= n; i++) {
        long long x;
        fin >> x; //citim elementul curent
        sp += x;
        long long val = sp - mp; if(val > sol)
        {
            indexFinal = i;
            stanga = indexInitial;
        }
        sol = max(sol, val); if(sp < mp )
        {
            indexInitial = i+1;
//stanga = i+1;
        } mp = min(mp, sp);
    } fout << sol << " "<<stanga<<" "<<indexFinal;
}