Cod sursa(job #2863902)

Utilizator CristianPavelCristian Pavel CristianPavel Data 7 martie 2022 13:30:47
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int v[100000],n;
int l[100000];
int urm[100000];
void afisare(int a[])
{
    for(int i=1;i<=n;i++)
        cout<<a[i]<<" ";
    cout<<endl;
}
int main()
{
    cin>>n;
    int pmax,l_pmax=0;
    for(int i=1;i<=n;i++)
        cin>>v[i];
    for(int i=n;i>=1;i--)
    {
        l[i]=1;
        for(int j=i+1;j<=n;j++)
            if(v[i]<v[j] && l[i]<=l[j])
            {
                l[i]=l[j]+1;
                if(l_pmax<l[i]){
                    l_pmax=l[i];
                    pmax=i;
                }
                urm[i]=j;
            }
    }
    cout<<l[pmax]<<endl;
    cout<<v[pmax]<<" ";
    while(urm[pmax])
    {
        cout<<v[urm[pmax]]<<" ";
        pmax=urm[pmax];
    }
    cin.close();
    cout.close();
    return 0;

}