Cod sursa(job #2666738)

Utilizator maramihaliMara Mihali maramihali Data 2 noiembrie 2020 14:32:13
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

const int INF = 1e9;

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

int main()
{
    int n, x, clength = 0, length = -INF, smax, sc, dr;
    sc = smax = -INF;
    in >> n;
    for(int i = 1; i <= n; i++)
    {
        in >> x;
        if(sc < 0)
        {
            sc = 0;
            clength = 0;
        }
        sc += x;
        clength++;
        if(sc > smax)
        {
            length = clength;
            dr = i;
            smax = sc;
        }
    }
    out << smax << " " << dr - length + 1 << " " << dr;
    return 0;
}