Cod sursa(job #3151048)

Utilizator raresmihai1234Rares Mihai raresmihai1234 Data 19 septembrie 2023 16:17:16
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int a[100005],sir[100005],urm[10005],pmax=1,n,i,j,p,mx;
int main()
{ cin>>n;
for (i=1;i<=n;i++)
{
    cin>>a[i];
}
    sir[n]=1;
    for (i=n-1;i>=1;i--)
    {
        sir[i]=1;
        for (j=i+1;j<=n;j++)
        {
            if (a[j]>a[i]&&sir[j]>=sir[i]) sir[i]=sir[j]+1;
        }
    }
    for (i=2;i<=n;i++)
    {
        if (sir[i]>sir[pmax]) pmax=i;
    }
    cout<<sir[pmax]<<'\n';
   mx=sir[pmax];
   while (mx!=0)
   {
       cout<<a[pmax]<<' ';
       mx--;
       for (i=pmax+1;i<=n;i++)
       {
           if (a[i]>a[pmax]&&sir[i]==mx) {pmax=i;break;}
       }
   }


    return 0;
}