310880: CF1904B. Collecting Game

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

B. Collecting Gametime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard output

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.

Input

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$.

Output

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$.

ExampleInput
4
5
20 5 1 4 2
3
1434 7 1442
1
1
5
999999999 999999999 999999999 1000000000 1000000000
Output
4 3 0 3 1 
1 0 2 
0 
4 4 4 4 4 
Note

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$.

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

加入题单

上一题 下一题 算法标签: