Cod sursa(job #1816198)

Utilizator pibogaBogdan piboga Data 26 noiembrie 2016 11:09:03
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream>

using namespace std;

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

int i,j,n,v[100010],k,mx,l[100010],p,z[100010];

int main()
{
    f>>n;
    for (i=1;i<=n;++i)
    {
        f>>v[i];
    }
    for (i=1;i<=n;++i)
    {
        mx=0;
        p=0;
        for (j=1;j<i;++j)
        {

            if (v[j]<v[i])
            {
                if (l[j]>mx)
                {
                    mx=l[j];
                    p=j;
                }
            }

        }
        l[i]=l[p]+1;
    }


    mx=0;

    for (i=n;i>=1;i--)
    {
        if (l[i]>=mx)
        {
            mx=l[i];

            p=i;
        }
    }
    g<<mx<<'\n';

    for (i=p;i>=1;i--)
    {
        if (l[i]==mx)
        {
            z[++k]=v[i];
            --mx;
        }
    }

    for (i=k;i>=1;i--)
    {
        g<<z[i]<<' ';
    }

    return 0;
}