Cod sursa(job #3304587)

Utilizator unomMirel Costel unom Data 25 iulie 2025 12:20:29
Problema Subsir crescator maximal Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream in("scmax.in");
ofstream out("scmax.out");
int n;
int dp[100005];
int INF = 2e9 + 1;

int main()
{
    in>>n;

    dp[0] = 0;
    for(int i = 1; i<=n; i++)
    {
        dp[i] = INF;
    }

    int x;
    for(int i = 1; i<=n; i++)
    {
        in>>x;

        int best = lower_bound(dp, dp + n + 1, x) - dp;

        dp[best] = x;
    }

    for(int i = n; i>=0; i--)
    {
        if(dp[i] != INF)
        {
            out<<i<<'\n';

            break;
        }
    }

    return 0;
}