Cod sursa(job #2675838)

Utilizator MindralexMindrila Alex Mindralex Data 22 noiembrie 2020 17:28:04
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

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

const int valMax = 6e6;

int v[valMax+1], s[valMax+1];

int main()
{
    int n, i, j = 0, st, dr, summax = INT_MIN;
    fin >> n;
    for (i = 1; i <= n; i++)
    {
        fin >> v[i];
        s[i] = max(s[i-1]+v[i], v[i]);
        if (s[i] != s[i-1]+v[i])
        {
            j = i;
        }
        if (s[i] > summax)
        {
            summax = s[i];
            st = j;
            dr = i;
        }
    }
    fout << summax << ' ' << st << ' ' << dr;
    return 0;
}