Cod sursa(job #2817444)

Utilizator wav_uuwRares Paul wav_uuw Data 13 decembrie 2021 18:11:01
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>

using namespace std;

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

int main()
{
    int n;
    f >> n;

    long long sum, smax, x;
    f >> x;
    sum = x;
    smax = x;

    if(n == 1)
    {
        g << smax << " 1 1\n";
        
        f.close();
        g.close();
        return 0;
    }

    int index = 1, indsm = 1, indem = 1;
    for(int i = 1; i < n; i++)
    {
        f >> x;

        if(sum + x >= x)
            sum += x;
        else
        {
            sum = x;
            index = i + 1;
        }

        if(smax < sum)
        {
            smax = sum;
            indsm = index;
            indem = i + 1;
        }
    }

    g << smax << ' ' << indsm << ' ' << indem << '\n';

    f.close();
    g.close();
    return 0;
}