Cod sursa(job #2721966)

Utilizator danhHarangus Dan danh Data 12 martie 2021 15:09:49
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;

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

const int NMAX = 6e6+5;

int v[NMAX];

int main()
{
    int n, s, best=INT_MIN, i, index = 1, start, stop;
    fin>>n;

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

    s = v[1];
    for(i=2; i<=n; i++)
    {
        if(s + v[i] > v[i])
        {
            s += v[i];
        }
        else
        {
            s = v[i];
            index = i;
        }

        if(s > best)
        {
            best = s;
            start = index;
            stop = i;
        }
    }

    fout<<best<<' '<<start<<' '<<stop;
    fin.close();
    fout.close();
    return 0;

}