Problem description
Napisz program, który dla danego ciągu liczb a1, a2, …, aN wyznaczy jego podciąg rosnący o największej długości. Ponieważ tak sprecyzowany problem ma niejednoznaczną odpowiedź, więc program Twój powinien wypisać taki podciąg, który jest dodatkowo najmniejszy leksykograficznie.
Wejście
W pierwszym wierszu podana jest długość ciągu N. W drugim wierszu zapisanych jest N liczb naturalnych a1, a2, …, aN, oddzielonych pojedynczym odstępem.
Wyjście
W pierwszym wierszu wyjścia powinna się znaleźć długość najdłuższego podciągu rosnącego. Natomiast w drugim wierszu najmniejszy leksykograficznie podciąg o takiej długości.
Ograniczenia
1 ≤ N ≤ 106, 1 ≤ ai ≤ 106.
Przykład
Input | Output | Explanation |
|
|
Istnieją trzy rosnące podciągi o długości 4, mianowicie: (5,8,10,15), (5,6,10,15) oraz (1,2,3,4). Ten trzeci jest oczywiście najmniejszy leksykograficznie. |