310880: CF1904B. Collecting Game
Description
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.
InputEach 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$.
OutputFor 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$.
ExampleInput4 5 20 5 1 4 2 3 1434 7 1442 1 1 5 999999999 999999999 999999999 1000000000 1000000000Output
4 3 0 3 1 1 0 2 0 4 4 4 4 4Note
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:
- Since $4 \ge 1$, we can remove $1$ and our score becomes $5$. After this, $a=[20,5,2]$.
- Since $5 \ge 5$, we can remove $5$ and our score becomes $10$. After this, $a=[20,2]$.
- 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$.
Output
这是一个关于收集游戏的题目。给定一个包含n个正整数的数组a,以及一个得分。如果得分大于或等于a_i,那么你可以增加你的得分a_i,并从数组中移除a_i。对于每个索引i,输出如果你移除a_i并然后将你的得分设置为a_i,你可以移除的额外数组元素的最大数量。注意,移除a_i不应计入答案。
输入数据格式:
每个测试包含多个测试案例。第一行包含一个整数t(1≤t≤5000)——测试案例的数量。接下来是测试案例的描述。
每个测试案例的第一行包含一个单个整数n(1≤n≤10^5)——数组的长度。
每个测试案例的第二行包含n个整数a_1, a_2, …, a_n(1≤a_i≤10^9)——数组的元素。
保证所有测试案例的n之和不超过10^5。
输出数据格式:
对于每个测试案例,输出n个整数,第i个数表示如果你从数组中移除a_i,然后将你的得分设置为a_i,你可以移除的额外数组元素的最大数量。
示例:
输入:
4
5
20 5 1 4 2
3
1434 7 1442
1
1
5
999999999 999999999 999999999 1000000000 1000000000
输出:
4 3 0 3 1
1 0 2
0
4 4 4 4 4题目大意: 这是一个关于收集游戏的题目。给定一个包含n个正整数的数组a,以及一个得分。如果得分大于或等于a_i,那么你可以增加你的得分a_i,并从数组中移除a_i。对于每个索引i,输出如果你移除a_i并然后将你的得分设置为a_i,你可以移除的额外数组元素的最大数量。注意,移除a_i不应计入答案。 输入数据格式: 每个测试包含多个测试案例。第一行包含一个整数t(1≤t≤5000)——测试案例的数量。接下来是测试案例的描述。 每个测试案例的第一行包含一个单个整数n(1≤n≤10^5)——数组的长度。 每个测试案例的第二行包含n个整数a_1, a_2, …, a_n(1≤a_i≤10^9)——数组的元素。 保证所有测试案例的n之和不超过10^5。 输出数据格式: 对于每个测试案例,输出n个整数,第i个数表示如果你从数组中移除a_i,然后将你的得分设置为a_i,你可以移除的额外数组元素的最大数量。 示例: 输入: 4 5 20 5 1 4 2 3 1434 7 1442 1 1 5 999999999 999999999 999999999 1000000000 1000000000 输出: 4 3 0 3 1 1 0 2 0 4 4 4 4 4