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

说明

In the second test case, we start by subtracting $ 1 $ from the first element and adding $ 1 $ to the second. Then, we can't get any lexicographically smaller arrays, because we can't make any of the elements negative.

Input

题意翻译

给定一个 $n$ 长度的数组 $a$ 和一个整数 $k$,你可以进行最多 $k$ 次如下操作: 选定两个下标 $i$ 和 $j$ $(i\neq j)$,使 $a_i=a_i+1,\quad a_j=a_j-1$。其中 $a_j$ 在执行操作后必须是非负的。 问能得到的字典序最小的数组。

加入题单

算法标签: