Cod sursa(job #3303686)

Utilizator AbC_LTAVPopovici Andrei AbC_LTAV Data 17 iulie 2025 11:12:33
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

const int Max = 6e6;
vector <int> Sum;

int main()
{
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);

    int n, X, minSum = 0, maxSum, origSt = 0, St = 1, Dr = 1;

    cin >> n;

    Sum.resize(n + 1);

    for (int i = 1; i <= n; i++)
    {
        cin >> X;

        Sum[i] = X + Sum[i - 1];
    }

    maxSum = Sum[1];

    for (int i = 1; i <= n; i++)
    {
        if (maxSum < Sum[i] - minSum)
        {
            maxSum = Sum[i] - minSum;

            Dr = i;
            St = origSt + 1;
        }


        if (minSum > Sum[i])
        {
            minSum = Sum[i];

            origSt = i;
        }
    }

    cout << maxSum << ' ' << St << ' ' << Dr;

    return 0;
}