Cod sursa(job #3030346)

Utilizator roxana13.Ghitan Roxana roxana13. Data 17 martie 2023 17:05:41
Problema Subsir crescator maximal Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

using namespace std;

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


int  n, m, k, N, maxx;
int a[100001], b[100001], p[100001];


int main()
{
    f >> n;
    for (int i = 1; i <= n; i++)
        f >> a[i];

    for (int i = n; i >= 1; i--)
    {
        b[i] = 1;
        p[i] = -1;
        for (int j = 1; j <= n; j++)
        {
            if(a[j] > a[i])
                if (b[i] < b[j] + 1)
                {
                    b[i] = b[j] + 1;
                    p[i] = j;
                }
        }
        if (b[i] > m) m = b[i], maxx = i;
    }
    g << m << '\n';
    while (maxx != -1)
    {
        g << b[maxx] << ' ';
        maxx = p[maxx];
    }
    return 0;
}