308421: CF1516A. Tit for Tat
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Tit for Tat
题意翻译
给定一个 $n$ 长度的数组 $a$ 和一个整数 $k$,你可以进行最多 $k$ 次如下操作: 选定两个下标 $i$ 和 $j$ $(i\neq j)$,使 $a_i=a_i+1,\quad a_j=a_j-1$。其中 $a_j$ 在执行操作后必须是非负的。 问能得到的字典序最小的数组。题目描述
Given an array $ a $ of length $ n $ , you can do at most $ k $ operations of the following type on it: - choose $ 2 $ different elements in the array, add $ 1 $ to the first, and subtract $ 1 $ from the second. However, all the elements of $ a $ have to remain non-negative after this operation. What is lexicographically the smallest array you can obtain? An array $ x $ is [lexicographically smaller](https://en.wikipedia.org/wiki/Lexicographical_order) than an array $ y $ if there exists an index $ i $ such that $ x_i<y_i $ , and $ x_j=y_j $ for all $ 1 \le j < i $ . Less formally, at the first index $ i $ in which they differ, $ x_i<y_i $ .输入输出格式
输入格式
The first line contains an integer $ t $ ( $ 1 \le t \le 20 $ ) – the number of test cases you need to solve. The first line of each test case contains $ 2 $ integers $ n $ and $ k $ ( $ 2 \le n \le 100 $ , $ 1 \le k \le 10000 $ ) — the number of elements in the array and the maximum number of operations you can make. The second line contains $ n $ space-separated integers $ a_1 $ , $ a_2 $ , $ \ldots $ , $ a_{n} $ ( $ 0 \le a_i \le 100 $ ) — the elements of the array $ a $ .
输出格式
For each test case, print the lexicographically smallest array you can obtain after at most $ k $ operations.
输入输出样例
输入样例 #1
2
3 1
3 1 4
2 10
1 0
输出样例 #1
2 1 5
0 1