Cod sursa(job #2929677)

Utilizator C_R_I_S_T_I_2_3Cristi Gavrila C_R_I_S_T_I_2_3 Data 26 octombrie 2022 14:41:27
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");

int n, maxl, sol;
int v[100005], dp[100005];

int main()
{
    fin >> n;
    for (int i = 1; i <= n; i++)
        fin >> v[i];
    dp[n] = 1;
    for (int i = n - 1; i >= 1; i--)
    {
        maxl = 0;
        for (int j = i + 1; j <= n; j++)
        {
            if (v[i] < v[j] && dp[j] > maxl)
                maxl = dp[j];
        }
        dp[i] = maxl + 1;
        sol = max(sol, dp[i]);
    }
    fout << sol << '\n';

    for (int i = 1; i <= n; i++)
    {
        if (dp[i] == sol)
        {
            fout << v[i] << " ";
            sol--;
        }
    }
    return 0;
}