Cod sursa(job #3363806)

Utilizator MateiTeiChelaru Matei MateiTei Data 23 august 2026 11:04:41
Problema Subsecventa de suma maxima Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>
using namespace std;


int a[6000010];

int main()
{
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");

    int n;

    fin >> n;

    for (int i = 1; i <= n; ++i)
    {
        fin >> a[i];
        a[i] += a[i - 1];
    }

    int smax = a[1];
    int start = 1;
    int stop = 1;

    int pozmin = 0;
    if (a[1] < a[pozmin])
        pozmin = 1;

    for (int j = 2; j <= n; ++j)
    {
        int suma_cand = a[j] - a[pozmin];

        if (suma_cand > smax)
        {
            smax = suma_cand;
            start = pozmin + 1;
            stop = j;
        }

        if (a[j] < pozmin)
        {
            pozmin = j;
        }
    }

    fout << smax << " " << start << " " << stop << "\n";

    return 0;
}