Cod sursa(job #3167129)

Utilizator Antonio_BiscoveanuAntonio Biscoveanu Antonio_Biscoveanu Data 10 noiembrie 2023 08:14:13
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#define DIM 100010
using namespace std;
ifstream cin("scmax.im");
ofstream cout("scmax.out");
int n,i, v[DIM], t[DIM], d[DIM], p, j, u, k, max1, sol;
void drum(int u) {
    if(u!=0) {
        drum(t[u]);
        cout<<v[u]<<" ";
    }
}
int main() {
    cin>>n;
    for(i=1; i<=n; i++)
        cin>>v[i];
    d[1]=1;
    for(i=2; i<=n; i++)
    {
        max1=0;
        for(j=1; j<i; j++)
            if(v[j]<v[i] && d[j]>max1)
            {
                max1=d[j];
                p=j;
            }
        d[i]=max1+1;
        if(d[i]!=1)
            t[i]=p;
        else
            t[i]=0;
        if(d[i]>sol)
        {
            sol=d[i];
            u=i;
        }
    }

    cout<<sol<<"\n";
    drum(u);
}