Invertir la lista enlazada en bloques

Dada una lista enlazada, se te solicita invertir segmentos de longitud l en la lista desde el principio hasta el final, hasta que no queden más segmentos.

Entrada

Los datos iniciales de la lista enlazada se obtienen automáticamente. No necesitas hacer nada.
La siguiente línea contiene un único entero l (1 ≤ l ≤ |L|), que representa la longitud de los bloques.

Salida

El programa debe imprimir la lista enlazada resultante.

Ejemplos

Entrada
Salida
10 4 0 -2 3 5 7 -1 8 -9 3 5
5 3 -2 0 4 3 -9 8 -1 7
10 4 0 -2 3 5 7 -1 8 -9 3 2
0 4 3 -2 7 5 8 -1 3 -9
10 4 0 -2 3 5 7 -1 8 -9 3 1
4 0 -2 3 5 7 -1 8 -9 3
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue