Cod sursa(job #2968295)

Utilizator Ionut2212Nedelcu Alexandru Ionut Ionut2212 Data 20 ianuarie 2023 21:36:10
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.03 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f ("ssm.in");
ofstream g ("ssm.out");
int s[6000001], sum[6000001], n, suma, smax, imax, s2max, i2max, jmax, x = 0;
int main()
{

    f >> n;
    for(int i = 1; i <= n; i++)
        f >> s[i];
    for(int i = 1; i <= n - 1; i++)
        {
            smax = 0; imax = i; suma = 0;
            for(int j = i + 1; j <= n; j++)
            {
                suma = suma + s[j];
                if(suma > smax)
                {
                    jmax = j;
                    smax = suma;
                }
            }
            sum[++x] = smax;
            sum[++x] = imax;
            sum[++x] = jmax;
        }
        smax = 0;
    for(int i = 1; i <= x; i = i + 3)
    {
        if(smax < sum[i])
        {
            smax = sum[i];
            i2max = i;
        }
    }
    imax = sum[i2max + 1] + 1;
    jmax = sum[i2max + 2];
    g << smax << ' ';
    for(int i = imax; i <= jmax; i++)
        g << s[i] << ' ';
    return 0;
}