Cod sursa(job #3005524)

Utilizator 1gbr1Gabara 1gbr1 Data 17 martie 2023 08:20:29
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;
int a[6000001];
int main()
{
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    int n;
    fin >> n;
    for (int i = 1; i <= n; i++)
        fin >> a[i];
    int s = a[1];
    int smax = a[1];
    int lg = 1;
    int st, dr;
    for (int i = 2; i <= n; i++)
    {
        if (s + a[i] >= 0)
            s += a[i], lg++;
        else
            s = 0, lg = 1;
        if (s > smax)
            smax = s, st = i-lg + 2, dr = i;
    }
    fout << smax << " " << st << " " << dr;
    return 0;
}