Tal para cual

Time Limit:
1 Sec
Memory Limit:
128Mb
Enviados:
77
Resuelto:
3

Descripción

Dado un vector $a$ de longitud $n$, puede realizar como máximo $k$ operaciones del siguiente tipo en ella:

  • Elija $2$ elementos diferentes en el vector, sume $1$ al primero y reste $1$ al segundo. Sin embargo, todos los elementos de $a$ deben permanecer no negativos después de esta operación.

¿Cuál es lexicográficamente el vector más pequeño que puede obtener?

Un vector $x$ es lexicográficamente más pequeño que un vector $y$ si existe un índice $i$ tal que $x_{i} < y_{i}$, y $x_{j} = y_{j}$ para todo $1 \leq j < i$. De manera menos formal, en el primer índice $i$ en el que difieren, $x_{i} < y_{i}$.

Entrada

La primera línea contiene un número entero $t$ ($1 \leq t \leq 20$): el número de casos de prueba que necesita resolver.

La primera línea de cada caso de prueba contiene $2$ números enteros $n$ y $k$ ($2 \leq n \leq 100$, $1 \leq k \leq 10000$): el número de elementos en el vector y el número máximo de operaciones que puede realizar.

La segunda línea contiene $n$ enteros separados por espacios $a_{1}$, $a_{2}$,…, $a_{n}$ ($0 \leq a_{i} \leq 100$) - los elementos del vector $a$.

Salida

Para cada caso de prueba, imprima el vector lexicográficamente más pequeño que pueda obtener después de $k$ operaciones como máximo.

Ejemplo Entrada

Copy icon
2
3 1
3 1 4
2 10
1 0

Ejemplo Salida

Copy icon
2 1 5 
0 1 

Ayuda

En el segundo caso de prueba, comenzamos restando $1$ del primer elemento y sumando $1$ al segundo. Entonces, no podemos obtener vectores lexicográficamente más pequeños, porque no podemos hacer que ninguno de los elementos sea negativo.