Compresión de secuencia mediante iteradores y combinadores

Rust Hard iterators

Tarea «Compresión de secuencia mediante iteradores y combinadores»

Se le proporciona una secuencia de números enteros. Debe implementar una función que comprima la secuencia: reemplaza los números iguales consecutivos por un par (número, cantidad de repeticiones). Utilice iteradores y combinadores (por ejemplo, map, filter, fold, scan, collect). Datos de entrada: primero un entero N (1 ≤ N ≤ 10^5), luego N números enteros. Imprima la secuencia comprimida en forma de pares (número, cantidad) separados por espacios. Si la secuencia está vacía (N=0), imprima una línea vacía.

Formato de entrada

Un entero N, luego N números enteros separados por espacios.

Formato de salida

Pares (número, cantidad) separados por espacios. Cada par: número y cantidad separados por una coma sin espacio. Si N=0, imprima una línea vacía.

Ejemplos

Ejemplo 1

ENTRADA
SALIDA

Ejemplo 2

ENTRADA
1 42
SALIDA
42,1

Ejemplo 3

ENTRADA
SALIDA
main.rs