Seqüència creixent més llarga X57800


Statement
 

pdf   zip

Sigui a=a1,a2,,ana = a_1, a_2, \dots, a_n una seqüència, diem que b=b1,b2,,br=ai1,ai2,,airb = b_1, b_2, \dots, b_r = a_{i_1}, a_{i_2}, \dots, a_{i_r} amb ij<iki_j < i_k si j<kj < k i 1ijn1 \leq {i_j} \leq n és una subseqüència de aa. Per exemple, si a=[1,7,9,4,8]a = [1, 7, 9, 4, 8], b=[1,7,4]b = [1, 7, 4] o b=[1,9,8]b = [1,9,8] són subseqüències de aa, però b=[2]b = [2] o b=[7,1]b = [7, 1] no ho són.

Sigui a=a1,a2,,ana = a_1, a_2, \dots, a_n una seqüència, diem que aa és estrictament creixent si ai<ai+1a_i < a_{i+1} per tot ii.

Donada una seqüència es demana trobar la subseqüència estrictament creixent més llarga. En cas que n’hi hagi més d’una, es demana la lexicogràficament menor.

Entrada

L’entrada consisteix en diversos casos, hi ha com a molt 200200 casos. Cada cas consta de dues línies, la primera conté un enter 1n1051 \leq n \leq 10^5, la mida de la seqüència. La segona línia conté els nn números de la seqüència, aia_i amb 1ai1091 \leq a_i \leq 10^9. La suma de la mida de totes les seqüències és menor que 51055\cdot10^5.

Sortida

Escriviu la subseqüència estrictament creixent mé s llarga per a cada cas. Si n’hi ha mé s d’una escriviu la lexicogràficament menor.

Public test cases
  • Input

    5
    1 2 3 2 1
    3
    2 1 3
    5
    3 4 1 2 4
    8
    5 4 7 11 5 3 10 5
    12
    7 11 14 4 5 6 22 8 1 2 3 18

    Output

    1 2 3
    1 3
    1 2 4
    4 5 10
    4 5 6 8 18
    
  • Information
    Author
    Max Balsells
    Language
    Catalan
    Official solutions
    C++
    User solutions