Cod sursa(job #2664288)

Utilizator MattiaMattia Iojica Mattia Data 28 octombrie 2020 12:24:16
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;

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

int main()
{
    int indice_inceput = 0, indice_sfarsit = 0;
    long long smax = -1e9, s = 0;

    int n;

    f >> n;

    int i_curent = 0;

    for(int i = 1; i <= n; i++)
    {
        int x;
        f >> x;

        if(s == 0)
            i_curent = i;

        s += x;

        if(s >= smax)
        {
            smax = s;
            indice_inceput = i_curent;
            indice_sfarsit = i;
        }

        if(s < 0)
            s = 0;

    }

    g << smax << " " << indice_inceput << " " << indice_sfarsit;

    return 0;
}