Salvando al planeta


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 16M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

Al efectuar la división entera entre dos números enteros obtenemos un cociente y un resto. Por ejemplo: al dividir 20/3 el cociente es 6 y el resto es 2, al dividir 5/8 el cociente es 0 y el resto es 5, y al dividir 74/2 el cociente es 37 y el resto es 0.

Una raza de alienígenas ha invadido la Tierra, y Mr. Velasco (el mejor de todos los superhéroes) va a enfrentarlos. Pero los alienígenas quieren medir primero la inteligencia de los humanos, y si resultamos muy inteligentes dejarán en paz al planeta, si no destruirán la Tierra con su súper láser.

Los alienígenas dan dos números A y B. Tenemos que computar el resto de la división entera A/(2^B). Pero al ser alienígenas, no usan el sistema decimal para representar a esos números, ellos usan el sistema binario, por lo que nos dan A y B en sus representaciones en dicho sistema, y debemos responderles el resto de la división entera A/(2^B) también en binario. Mr. Velasco no es muy bueno en matemáticas (al tener que salvar el mundo de las constantes amenazas de otras galaxias, no tiene tiempo de estudiar, al menos esa es su excusa). Ayúdelo a realizar tan difícil tarea al diseñar un programa que la resuelva.

Entrada

Línea 1: Dos números enteros N y M (1 \leq N, M \leq 10^6), representando la cantidad de bits de A y la cantidad de bits de B respectivamente.

Línea 2: N enteros (unos y ceros) separados por espacio, que constituyen la representación en binario de A en orden desde el bit más significativo el más a la izquierda) hasta el menos significativo (el más a la derecha).

Línea 3: M enteros (unos y ceros), separados por espacio, que constituyen la representación en binario de B en orden desde el bit más significativo ( el más a la izquierda) hasta el menos significativo (el más a la derecha).

Salida:

Imprima dos líneas: Sea R el resto de dividir A entre 2^B, imprima en la primera línea un entero P que es la cantidad de bits de R, y en la segunda línea imprima P enteros (unos y ceros) separados por espacio, que constituyen la representación en binario de R en orden desde el bit más significativo (el más a la izquierda) hasta el menos significativo (el más a la derecha). Se considera que 0 tiene 0 bits en binario.

Ejemplo de entrada

13 5                        
1 0 0 1 1 0 0 1 1 1 0 0 1               
1 1 0 0 1

Ejemplo de salida:

13
1 0 0 1 1 0 0 1 1 1 0 0 1

Comments

There are no comments at the moment.