Cod sursa(job #2261277)

Utilizator vlad6001Pintilie Vlad vlad6001 Data 16 octombrie 2018 10:16:02
Problema Subsir crescator maximal Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
using namespace std;

ifstream cin("scmax.in");
ofstream cout("scmax.out");

long long nr, v[100004], d[100004], last[100004];

void afis(long long nr)
{
    if(nr == 0)
    return;
    afis(last[nr]);
    cout << v[nr] << ' ';
}

int main()
{
    cin >> nr;
    for(int i=1; i <= nr; i++)
    cin >> v[i];

    for(int i=1; i <= nr; i++)
    {
        d[i] = 1;
        for(int j=i; j > 0; j--)
        {
            if(v[j] < v[i] && d[i] < d[j]+1)
            {
                d[i] = d[j]+1;
                last[i] = j;
            }
        }
    }
    cout << d[nr] << '\n';
    afis(nr);
}