Cod sursa(job #3340309)

Utilizator DENISA123_TDenisa Tiploiu DENISA123_T Data 13 februarie 2026 17:32:46
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.32 kb
/******************************************************************************

Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.

*******************************************************************************/
#include <bits/stdc++.h>

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

int main()
{
    int n, k, s = 0, inceput = 0, smax = INT_MIN, startmax = 0, sfmax = 0;
    fin >> n >> k;
    
    //initializam suma cu primul element
    s = k;
    inceput = 1;
    for (int i = 2; i <= n; i++) {
        fin >> k;
        
        //calculam pentru elementul curent, cea mai buna alegre
        //ori adaugam la suma ca sa ie cat mai mare, ori incepem o nua secventa
        if (s + k > k) {
            s = s + k;
        }
        else {
            inceput = i;
            s = k;
        }
        
        //verificam mereu daca secventa curenta este maxima si retinem datle pentru ca asta ne cere enuntul
        if (s > smax) {
            smax = s;
            startmax = inceput;
            sfmax = i;
        }
    }
    fout << smax << " " << startmax << " " << sfmax;
    return 0;
}