CF1904B.Collecting Game
普及-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a of n positive integers and a score. If your score is greater than or equal to ai, then you can increase your score by ai and remove ai from the array.
For each index i, output the maximum number of additional array elements that you can remove if you remove ai and then set your score to ai. Note that the removal of ai should not be counted in the answer.
给你一个包含 n 个正整数的数组 a 和一个初始分数。若你的分数大于等于 ai,则你可以将分数增加 ai,并从数组中移除 ai。
对每个下标 i,输出:在首先移除 ai 并将你的分数设为 ai 的前提下,你最多还能额外移除多少个数组元素。注意:ai 的移除不计入答案。
输入格式
Each test contains multiple test cases. The first line contains an integer t (1≤t≤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≤n≤105) — the length of the array.
The second line of each test case contains n integers a1,a2,…,an (1≤ai≤109) — the elements of the array.
It is guaranteed that the sum of n over all test cases does not exceed 105.
每个测试包含多个测试用例。第一行包含一个整数 t(1≤t≤5000),表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤105),表示数组的长度。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109),表示数组的元素。
保证所有测试用例的 n 值之和不超过 105。
输出格式
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 ai from the array and then set your score to ai.
对于每个测试用例,输出 n 个整数,其中第 i 个整数表示:若从数组中移除 ai 并将你的得分设为 ai,则你最多还能额外移除多少个数组元素。
输入输出样例
输入#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 a4=4 and a=[20,5,1,2]. We can remove 3 additional elements in the following order:
- Since 4≥1, we can remove 1 and our score becomes 5. After this, a=[20,5,2].
- Since 5≥5, we can remove 5 and our score becomes 10. After this, a=[20,2].
- Since 10≥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.
在第一个测试用例中,答案如下:
-
如果我们从 i=4 开始,初始得分为 a4=4,此时数组为 a=[20,5,1,2]。我们可以按以下顺序再移除 3 个元素:
- 由于 4≥1,我们可以移除 1,得分变为 5;移除后,a=[20,5,2]。
- 由于 5≥5,我们可以移除 5,得分变为 10;移除后,a=[20,2]。
- 由于 10≥2,我们可以移除 2,得分变为 12;移除后,a=[20]。
-
如果我们从 i=1 开始,则可以移除数组中所有剩余元素,因此答案为 4。
-
如果我们从 i=2 开始,则可以按以下顺序再移除 3 个元素:1、4、2。
-
如果我们从 i=3 开始,则无法再移除任何额外元素。
-
如果我们从 i=5 开始,则只能再移除 1 个元素:1。
输入解题思路,AI测评打分。不知道怎么写?