Cod sursa(job #3345042)

Utilizator alexia._.fFlorete Alexia alexia._.f Data 7 martie 2026 18:32:32
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;

//ifstream in("ssm.in");
//ofstream out("ssm.out");

const int N = 100;

int main()
{
    int n, best, start_curent = 1, best_right = 1, best_left = 1;
    int a[N + 1], dp[N + 1];
    cin >> n;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }

    dp[1] = a[1];
    best = a[1];
    for(int i = 2; i <= n; i++)
    {
        dp[i] = max(a[i], dp[i - 1] + a[i]);
        //daca am inceput secventa noua
        if(a[i] > dp[i-1] + a[i])
        {
            start_curent =  i;
        }
       
        if (dp[i] > best) 
        {
            best = dp[i];
            best_left = start_curent;
            best_right = i;
        }
    }

    cout << best << " " << best_left << " " << best_right << "\n";
    //in.close();
    //out.close();
    return 0;
}