Cod sursa(job #2675809)

Utilizator MindralexMindrila Alex Mindralex Data 22 noiembrie 2020 16:30:15
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 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 = 1, summax = INT_MIN, st, dr;
    fin >> n;
    for (i = 1; i <= n; i++)
    {
        fin >> v[i];
        s[i] = s[i-1] + v[i];
        if (s[i] - s[j]> summax)
        {
            summax = s[i] - s[j], st = j+1, dr = i;
        }

        if (s[i] < s[j])
            j = i;

    }
    fout << summax << ' ' << st << ' ' << dr;
}