Cod sursa(job #2247042)

Utilizator iulius510iulius alexandru iulius510 Data 27 septembrie 2018 20:06:24
Problema Subsir crescator maximal Scor 45
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int d[100001],n,s[100001],ax,piv,p,a[10000];
int main()
{
   f>>n;
   for(int i=1;i<=n;i++)
    {f>>a[i];
     d[i]=1;
    }
   int m=0;
  for(int k=n;k>=1;k--)
    {
       if(m<d[k])
       {
           m=d[k];
           piv=k;
       }
        for(int j=1;j<=k-1;j++)
            if(a[k]>a[j])
            {d[j]=max(d[j],d[k]+1);
             s[j]=k;
            }
    }
    g<<m<<"\n";

    while(m)
    {
        g<<a[piv]<<' ';
        piv=s[piv];
        --m;
    }

    return 0;
}