CF1783C.Yet Another Tournament
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are participating in Yet Another Tournament. There are n+1 participants: you and n other opponents, numbered from 1 to n.
Each two participants will play against each other exactly once. If the opponent i plays against the opponent j, he wins if and only if i>j.
When the opponent i plays against you, everything becomes a little bit complicated. In order to get a win against opponent i, you need to prepare for the match for at least ai minutes — otherwise, you lose to that opponent.
You have m minutes in total to prepare for matches, but you can prepare for only one match at one moment. In other words, if you want to win against opponents p1,p2,…,pk, you need to spend ap1+ap2+⋯+apk minutes for preparation — and if this number is greater than m, you cannot achieve a win against all of these opponents at the same time.
The final place of each contestant is equal to the number of contestants with strictly more wins + 1. For example, if 3 contestants have 5 wins each, 1 contestant has 3 wins and 2 contestants have 1 win each, then the first 3 participants will get the 1-st place, the fourth one gets the 4-th place and two last ones get the 5-th place.
Calculate the minimum possible place (lower is better) you can achieve if you can't prepare for the matches more than m minutes in total.
你正在参加“又一场比赛”(Yet Another Tournament)。共有 n+1 名参赛者:你和其余 n 名对手,编号从 1 到 n。
每两名参赛者之间恰好进行一场比赛。当对手 i 与对手 j 比赛时,当且仅当 i>j 时,对手 i 获胜。
当你与对手 i 比赛时,情况变得稍微复杂一些。为了战胜对手 i,你必须至少为此场比赛准备 ai 分钟;否则,你将输给该对手。
你总共只有 m 分钟可用于赛前准备,且同一时刻只能为一场比赛做准备。换言之,若你想战胜对手 p1,p2,…,pk,则需花费 ap1+ap2+⋯+apk 分钟进行准备;若该总和超过 m,则你无法同时战胜所有这些对手。
每位参赛者的最终名次等于“严格胜场数比他多的参赛者人数”加 1。例如,若有 3 名参赛者各胜 5 场,1 名参赛者胜 3 场,另有 2 名参赛者各胜 1 场,则前 3 名参赛者获得第 1 名,第 4 名参赛者获得第 4 名,最后 2 名参赛者均获得第 5 名。
在总计准备时间不超过 m 分钟的前提下,求你能取得的最小可能名次(数值越小越好)。
输入格式
The first line contains a single integer t (1≤t≤104) — the number of test cases.
The first line of each test case contains two integers n and m (1≤n≤5⋅105; 0≤m≤i=1∑nai) — the number of your opponents and the total time you have for preparation.
The second line of each test case contains n integers a1,a2,…,an (0≤ai≤1000), where ai is the time you need to prepare in order to win against the i-th opponent.
It's guaranteed that the total sum of n over all test cases doesn't exceed 5⋅105.
第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。
每个测试用例的第一行包含两个整数 n 和 m(1≤n≤5⋅105;0≤m≤i=1∑nai)—— 你的对手数量以及你用于准备的总时间。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(0≤ai≤1000),其中 ai 表示你为战胜第 i 个对手所需花费的准备时间。
保证所有测试用例中 n 的总和不超过 5⋅105。
输出格式
For each test case, print the minimum possible place you can take if you can prepare for the matches no more than m minutes in total.
对于每个测试用例,输出在总共最多准备 m 分钟的情况下,你能获得的最小可能名次。
输入输出样例
输入#1
5 4 401 100 100 200 1 3 2 1 2 3 5 0 1 1 1 1 1 4 0 0 1 1 1 4 4 1 2 2 1
输出#1
1 2 6 4 1
说明/提示
In the first test case, you can prepare to all opponents, so you'll win 4 games and get the 1-st place, since all your opponents win no more than 3 games.
In the second test case, you can prepare against the second opponent and win. As a result, you'll have 1 win, opponent 1 — 1 win, opponent 2 — 1 win, opponent 3 — 3 wins. So, opponent 3 will take the 1-st place, and all other participants, including you, get the 2-nd place.
In the third test case, you have no time to prepare at all, so you'll lose all games. Since each opponent has at least 1 win, you'll take the last place (place 6).
In the fourth test case, you have no time to prepare, but you can still win against the first opponent. As a result, opponent 1 has no wins, you have 1 win and all others have at least 2 wins. So your place is 4.
在第一个测试用例中,你可以为所有对手做准备,因此你将赢得 4 场比赛并获得第 1 名,因为你的所有对手最多只赢得 3 场比赛。
在第二个测试用例中,你可以为第二位对手做准备并获胜。结果是:你有 1 场胜利,对手 1 有 1 场胜利,对手 2 有 1 场胜利,对手 3 有 3 场胜利。因此,对手 3 将获得第 1 名,其余所有参赛者(包括你)均获得第 2 名。
在第三个测试用例中,你完全没时间做准备,因此你将输掉所有比赛。由于每位对手至少有 1 场胜利,你将获得最后一名(即第 6 名)。
在第四个测试用例中,你没有时间做准备,但仍可战胜第一位对手。结果是:对手 1 没有胜场,你有 1 场胜利,而其他所有对手至少有 2 场胜利。因此,你的名次为第 4 名。
输入解题思路,AI测评打分。不知道怎么写?