Cod sursa(job #2451599)

Utilizator ArkhamKnightyMarco Vraja ArkhamKnighty Data 27 august 2019 13:10:12
Problema Subsir crescator maximal Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

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

int p[100005], v[100005], q[100005];
int n, Q;

void bacc(int a, int b)
{
    while(p[b] != a) b--;

    if(a > 1) bacc(a-1, b-1);
    cout << q[a] << ' ';
}

void rez()
{
    int j;
    cin >> n ;

    for(int i = 1 ; i <= n ; i++)
    {
        cin >> v[i];
        int aux = v[i];
        j = 1;

        while(j <= Q && q[j] < aux)
            j++;
        q[j] = aux;
        p[i] = j;

        Q = max(Q,j);
    }
}

void print()
{
    cout << Q << '\n';
    bacc(Q, n);
}

int main()
{
    rez();
    print();
}