Cod sursa(job #3314350)

Utilizator Denis20008924Mitrasca Denis Denis20008924 Data 9 octombrie 2025 19:09:37
Problema Subsecventa de suma maxima Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <climits>

using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

int n, nr, SP[100001], SumMax = INT_MIN, st, dr;

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++)
        cin >> nr, SP[i] = SP[i - 1] + nr;

    for(int i = 1; i <= n; i++)
        for(int j = i + 1; j <= n; j++){
            if(SP[j] - SP[i - 1] > SumMax){
                SumMax = SP[j] - SP[i - 1], st = i, dr = j;

            }
            if(SP[j] - SP[i - 1] == SumMax)
                if(i < st)
                    st = i, dr = j;
                else if(i == st)
                    if(j - i + 1 < dr - st + 1)
                        st = i, dr = j;
        }
    cout << SumMax << " " << st << " " << dr;
    return 0;
}