Introducción
Este es un registro de longitud 5:
#####
Quiero apilar un montón de estos registros uno encima del otro. Cómo hago esto es que deslizo un nuevo registro en el superior desde la derecha, y dejo de deslizar cuando sus extremos izquierdo o derecho se alinean (no pregunte por qué). Si el nuevo registro es más largo, se desliza hasta el extremo izquierdo del registro superior:
######## <-
#####
Si es más corto, solo se desliza hasta que sus extremos derechos se alineen:
###### <-
########
#####
A medida que deslizo más registros en la pila, sus posiciones están determinadas por el registro más alto actual:
##
######
###
####
##
######
########
#####
Esto parece físicamente imposible, pero imaginemos que funciona.
La tarea
Su entrada será una lista no vacía de enteros positivos, que representa la longitud de mis registros. El número que está más a la izquierda es el primer registro que puse en la pila, por lo que termina en la parte inferior. En el ejemplo anterior, la entrada sería [5,8,6,2,4,3,6,2]. Su salida será, para cada columna de la pila resultante, el número de registros que cruzan esa columna. En el ejemplo anterior, la salida correcta sería [2,2,3,3,3,2,4,6,3,3,1,2,2].
Reglas y puntaje
La entrada y salida pueden estar en cualquier formato razonable. La salida solo puede contener enteros positivos, es decir, no debe tener 0s iniciales o finales . Se aplican las reglas normales de código de golf: puede escribir un programa completo o una función, gana el conteo de bytes más bajo y las lagunas estándar están prohibidas.
Casos de prueba
[1] -> [1]
[4] -> [1,1,1,1]
[3,2] -> [1,2,2]
[2,3] -> [2,2,1]
[2,2,2] -> [3,3]
[2,3,2] -> [2,3,2]
[3,2,3] -> [1,3,3,1]
[1,3,2,2,1,3,1] -> [2,3,5,1,2]
[4,3,4,2,4,3,4,2] -> [1,3,3,5,5,3,4,2]
[5,8,6,2,4,3,6,2] -> [2,2,3,3,3,2,4,6,3,3,1,2,2]
[5,10,15,1,1,1,1,1,2] -> [3,3,3,3,3,2,2,2,2,2,1,1,1,1,7,1]
[13,12,2,10,14,12] -> [1,2,2,2,2,2,2,2,2,2,2,5,5,3,3,3,3,3,3,3,3,2,2,2,2]
[12,14,3,6,13,1,1] -> [2,2,2,2,2,2,2,2,2,2,2,5,4,4,2,2,2,1,1,1,1,1,1,3]
[7,5,12,5,1,10,14,5] -> [1,1,3,3,3,3,3,1,1,2,2,2,2,5,2,2,2,2,2,2,2,2,3,2,2,2,2]
[14,5,1,3,12,6,2,2,1,7,9,15] -> [1,1,1,1,1,1,1,1,1,2,2,2,2,5,2,2,1,1,1,2,2,2,2,4,8,3,3,3,3,3,3,2,2,1,1,1,1,1,1]