Cod sursa(job #2973591)

Utilizator tudor_costinCostin Tudor tudor_costin Data 1 februarie 2023 13:04:46
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
const int Nmax=100005;
int a[Nmax],dp[Nmax];
int main()
{
    int n;
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>a[i];
    }
    dp[1]=a[1];
    int nr=1;
    for(int i=2;i<=n;i++)
    {
        int x=lower_bound(dp+1,dp+i-1,a[i])-dp;
        cout<<x;
        if(x>nr) nr++;
        dp[nr]=a[i];
    }
    fout<<nr<<'\n';
    for(int i=1;i<=nr;i++)
    {
        fout<<dp[i]<<' ';
    }
    return 0;
}