Cod sursa(job #1535149)

Utilizator nicholascantarNicholas David Cantar Gogitidze nicholascantar Data 24 noiembrie 2015 13:23:28
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>

using namespace std;
int n,i,j,max1,l[100001],a[100001],p;
int main()
{
    ifstream fin ("scmax.in");
    ofstream fout ("scmax.out");
    fin>>n;
    for (i=1;i<=n;i++) fin>>a[i];
    for (i=n;i>=1;i--)
    {
        max1=0;
        for (j=i+1;j<=n;j++)
        {
            if (l[j]>max1&&a[j]>a[i])
                max1=l[j];
        }
        l[i]=max1+1;
    }

    max1=0;
    for (i=1;i<=n;i++)
    {
        if (l[i]>max1)
        {
            max1=l[i];
            p=i;
        }
    }
    fout<<max1<<'\n';
    while (max1>0)
    {
        fout<<a[p]<<" ";
        max1=max1-1;
        for (i=p+1;i<=n;i++)
        {
            if (a[i]>a[p]&&l[i]==max1)
            {
                p=i;
                break;
            }
        }
    }
    return 0;
}