Seqüència creixent més llarga X57800


Statement
 

pdf   zip

html

Sigui a = a1, a2, …, an una seqüència, diem que b = b1, b2, …, br = ai1, ai2, …, air amb ij < ik si j < k i 1 ≤ ijn és una subseqüència de a. Per exemple, si a = [1, 7, 9, 4, 8], b = [1, 7, 4] o b = [1,9,8] són subseqüències de a, però b = [2] o b = [7, 1] no ho són.

Sigui a = a1, a2, …, an una seqüència, diem que a és estrictament creixent si ai < ai+1 per tot i.

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 200 casos. Cada cas consta de dues línies, la primera conté un enter 1 ≤ n ≤ 105, la mida de la seqüència. La segona línia conté els n números de la seqüència, ai amb 1 ≤ ai ≤ 109. La suma de la mida de totes les seqüències és menor que 5·105.

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