Cod sursa(job #3040618)

Utilizator IvanAndreiIvan Andrei IvanAndrei Data 30 martie 2023 10:43:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;

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

const int max_size = 6e6 + 1;

int v[max_size];

int main ()
{
    int n;
    in >> n;
    int mx = 0, st = 1, dr = 1, sum = 0, lastst = 1;
    for (int i = 1; i <= n; i++)
    {
        in >> v[i];
        sum += v[i];
        if (i == 1)
        {
            mx = sum;
        }
        if (sum > mx)
        {
            st = lastst;
            dr = i;
            mx = sum;
        }
        if (sum < 0)
        {
            sum = 0;
            lastst = i + 1;
        }
    }
    out << mx << " " << st << " " << dr;
    in.close();
    out.close();
    return 0;
}