Hay un "algoritmo de ordenamiento", a veces llamado ordenamiento de Stalin, en el cual, para ordenar una lista, simplemente elimina elementos de la lista hasta que se ordena en orden creciente. Por ejemplo la lista
[1, 2, 4, 5, 3, 6, 6]
Cuando "ordenado" con Stalin se convierte en ordenar
[1, 2, 4, 5, 6, 6]
Los tres fueron retirados porque estaba fuera de servicio.
Ahora, obviamente, hay muchas formas de eliminar elementos para ordenar una lista. Por ejemplo, cualquier lista con menos de dos elementos debe ordenarse, de modo que simplemente eliminando suficientes elementos a ciegas siempre podemos ordenar una lista. Dado que este es el caso, solo nos importa el resultado más largo posible de un tipo de Stalin.
Su tarea será tomar una lista de enteros positivos y generar la longitud de la lista ordenada (creciente) más larga a la que se puede llegar eliminando elementos de la lista original. Es decir, encontrar la longitud de la sublista ordenada más larga (posiblemente no contigua).
Las listas ordenadas pueden tener el mismo elemento más de una vez seguidas. No necesita admitir la lista vacía a menos que su programa esté vacío.
Tanteo
Su respuesta se puntuará según la longitud de su propio tipo de Stalin más largo posible. Los programas se interpretarán como una secuencia de bytes en lugar de caracteres, y su orden será el natural que surge al interpretar los bytes como números. Los puntajes más bajos son mejores.
Esto no es código golf
Aquí hay una herramienta ordenada para ayudarlo a calificar sus respuestas.
Casos de prueba
[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