Cod sursa(job #2396360)

Utilizator VladTZYVlad Tiganila VladTZY Data 3 aprilie 2019 14:06:40
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>

using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

int n,i,v[100005],w[100005],j,maxi,maxim,jj,h[100005],a[100005],poz,k;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>v[i];
        maxi=0;jj=0;
        for(j=1;j<i;j++)
        {
           if(v[i]>v[j])
           {
               if(w[j]>maxi)
               {
                   maxi=w[j];
                   jj=j;
               }
           }
        }
        w[i]=maxi+1;
        h[i]=jj;
        if(w[i]>maxim)
        {
            maxim=w[i];
            poz=i;
        }
    }
    g<<maxim<<"\n";
    a[1]=poz;k=1;
    while(h[poz]!=0)
    {
        k++;
        a[k]=h[poz];
        poz=h[poz];
    }
    for(i=k;i>=1;i--)
        g<<v[a[i]]<<" ";
}