Cod sursa(job #2724329)

Utilizator Adela_PetrePetre Adela Adela_Petre Data 16 martie 2021 22:31:02
Problema Subsecventa de suma maxima Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int MAX = 6000000;
int v[1 + MAX], N, st, dr, x, smax;
int main()
{
    fin >> N;
    st = 1, dr = N;
    for(int i = 1; i <= N; i++)
    {
        fin >> x;
        v[i] = v[i - 1] + x;
    }
    for(int i = 1; i <= N; i++)
    {
        for(int j = i; j <= N; j++)
        {
            int s = v[j] - v[i - 1];
            if(s > smax)
            {
                smax = s, st = i, dr = j;
            }
            else
            {
                if(s == smax)
                {
                    if(i == st)
                    {
                        if(dr - st > j - i)
                            dr = j;
                    }
                }
            }
        }
    }
    fou << smax << ' ' << st << ' ' << dr;
}