Copiado al portapapeles
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.
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.