Collecting Game
题意翻译
长为 $n$ 的序列,可以进行下面的操作:
- 如果你的分数 $s\ge a_i,1\le i\le n$,你就可以删去 $a_i$ 并且将 $s$ 增加 $a_i$。
问:对于每一个 $i$,删除 $a_i$ 并将你的分数设为 $a_i$,你**还**可以删除多少个数(注意开始删除的数不算)。
$T$ 组数据,多测。
$1\le a_i\le10^9,1\le T\le5000,\sum n\le10^5$。
by @[huangrenheluogu](https://www.luogu.com.cn/user/461359)
题目描述
You are given an array $ a $ of $ n $ positive integers and a score. If your score is greater than or equal to $ a_i $ , then you can increase your score by $ a_i $ and remove $ a_i $ from the array.
For each index $ i $ , output the maximum number of additional array elements that you can remove if you remove $ a_i $ and then set your score to $ a_i $ . Note that the removal of $ a_i $ should not be counted in the answer.
输入输出格式
输入格式
Each test contains multiple test cases. The first line contains an integer $ t $ ( $ 1 \leq t \leq 5000 $ ) — the number of test cases. The description of the test cases follows.
The first line of each test case contains a single integer $ n $ ( $ 1 \le n \le 10^5 $ ) — the length of the array.
The second line of each test case contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 1 \le a_i \le 10^9 $ ) — the elements of the array.
It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 10^5 $ .
输出格式
For each test case, output $ n $ integers, the $ i $ -th of which denotes the maximum number of additional array elements that you can remove if you remove $ a_i $ from the array and then set your score to $ a_i $ .
输入输出样例
输入样例 #1
4
5
20 5 1 4 2
3
1434 7 1442
1
1
5
999999999 999999999 999999999 1000000000 1000000000
输出样例 #1
4 3 0 3 1
1 0 2
0
4 4 4 4 4
说明
In the first test case, the answers are as follows:
If we start with $ i=4 $ , our initial score is $ a_4=4 $ and $ a=[20,5,1,2] $ . We can remove $ 3 $ additional elements in the following order:
1. Since $ 4 \ge 1 $ , we can remove $ 1 $ and our score becomes $ 5 $ . After this, $ a=[20,5,2] $ .
2. Since $ 5 \ge 5 $ , we can remove $ 5 $ and our score becomes $ 10 $ . After this, $ a=[20,2] $ .
3. Since $ 10 \ge 2 $ , we can remove $ 2 $ and our score becomes $ 12 $ . After this, $ a=[20] $ .
If we start with $ i=1 $ we can remove all remaining elements in the array, so the answer is $ 4 $ .
If we start with $ i=2 $ , we can remove $ 3 $ additional elements in the following order: $ 1 $ , $ 4 $ , $ 2 $ .
If we start with $ i=3 $ , we can remove no additional elements.
If we start with $ i=5 $ , we can remove $ 1 $ additional element: $ 1 $ .