Istnieje „algorytm sortowania”, zwany czasem sortowaniem Stalina, w którym w celu posortowania listy wystarczy usunąć elementy z listy, aż zostanie ona posortowana w porządku rosnącym. Na przykład lista
[1, 2, 4, 5, 3, 6, 6]
Kiedy „posortowane” za pomocą Stalina staje się sortowanie
[1, 2, 4, 5, 6, 6]
Trójka została usunięta, ponieważ była niesprawna.
Oczywiście istnieje wiele sposobów usuwania elementów w celu posortowania listy. Na przykład każda lista zawierająca mniej niż dwa elementy musi zostać posortowana, więc wystarczy usunąć ślepo wystarczającą liczbę elementów, abyśmy zawsze mogli sortować listę. Ponieważ tak jest, zależy nam tylko na jak najdłuższym wyniku ze stali Stalina.
Twoim zadaniem będzie pobranie listy dodatnich liczb całkowitych i wyprowadzenie długości najdłuższej posortowanej (rosnącej) listy, którą można uzyskać, usuwając elementy z oryginalnej listy. To jest długość najdłuższej posortowanej (być może nieciągłej) podlisty.
Posortowane listy mogą mieć ten sam element więcej niż raz z rzędu. Nie musisz obsługiwać pustej listy, chyba że sam program jest pusty.
Punktacja
Twoja odpowiedź będzie oceniana według długości najdłuższego możliwego rodzaju Stalina. Programy będą interpretowane raczej jako ciąg bajtów niż znaków, a ich kolejność będzie naturalna, która powstaje w wyniku interpretacji bajtów jako liczb. Niższe wyniki są lepsze.
To nie jest golf golfowy
Oto fajne narzędzie, które pomoże Ci zdobyć odpowiedzi.
Przypadki testowe
[1, 2, 4, 5, 3, 6, 6] -> 6
[19, 2] -> 1
[3, 3, 4, 3] -> 3
[10] -> 1
[1, 2, 4, 9] -> 4
[1, 90, 2, 3, 4, 5] -> 5
[1, 90, 91, 2, 3, 4, 5] -> 5