Cod sursa(job #2151874)

Utilizator HelloWorldBogdan Rizescu HelloWorld Data 5 martie 2018 00:06:50
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
#define maxim 100200
int n,v[maxim],maxx,p[maxim],l[maxim],i,j,prim;
int main()
{
    in>>n;
    for (i=1; i<=n; ++i)
        in>>v[i];
    for (i=n; i>=1; --i)
    {
        l[i]=1;
        p[i]=0;
        for (j=i+1; j<=n; ++j)
        {
            if (v[i]<v[j] && l[i]<l[j]+1)
            {
                l[i]=l[j]+1;
                p[i]=j;
            }
        }
        if (l[i]>maxx)
        {
            maxx=l[i];
            prim=i;
        }
    }
    out<<maxx<<"\n";
    i=prim;
    while (p[i])
    {
        out<<v[i]<<" ";
        i=p[i];
    }
    out<<v[i]<<"\n";

}