Cod sursa(job #2816795)

Utilizator wav_uuwRares Paul wav_uuw Data 12 decembrie 2021 02:42:29
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

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

int v[6000001];

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

    int sum, smax;
    f >> v[0];
    sum = v[0];
    smax = v[0];

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

    int ind1 = 1, ind2 = 1;
    for(int i = 1; i < n; i++)
    {
        f >> v[i];
        if(sum + v[i] >= v[i])
        {
            sum += v[i];
        }
        else
        {
            sum = v[i];
            ind1 = i + 1;
        }

        if(smax < sum)
        {
            smax = sum;
            ind2 = i + 1;
        }
    }

    g << smax << ' ' << ind1 << ' ' << ind2 << '\n';

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