题目描述
题目译自 NordicOI 2018 T2 「French Fries」
有无数的人站成一排,这排队伍向左右无限延伸。现在选出 P 个人,每人分到一根薯条。为了公平起见,每个人同时把自己的薯条分成两半,分别给左右两边的人。这个过程重复 T−1 次。如果在经过 T 次分配后,一个人拥有的薯条数量至少为 L(L 不一定是整数),那么他就能吃饱。请问有多少人能吃饱?
输入格式
第一行输入包含两个整数 P 和 T (1≤P≤3⋅105,1≤T≤5⋅107),以及一个浮点数 L (10−4≤L≤10)。第二行包含 P 个不同的整数,表示最初分到薯条的人的编号。这些编号的范围在 0 到 107 之间。
输出格式
输出一个整数,表示最终至少拥有 L 根薯条的人数。
如果你给出的答案 X 在至少拥有 0.8L 根薯条的人数和至少拥有 1.2L 根薯条的人数之间,则视为正确。
2 1 0.74
0 2
1
在第一个样例中,编号为 0 和 2 的人最初各有一根薯条。分配后,编号为 −1 和 3 的人各有 0.5 根薯条,而编号为 1 的人有 1 根薯条。吃饱的标准是 0.74 根薯条,因此只有编号为 1 的人吃饱了。
4 100 0.1
1 2 3 11
13
在第二个样例中,答案 13 是准确的,但任何在 12 到 15 之间的输出都视为正确。
数据范围与提示
详细子任务附加限制及分值如下表所示。
| 子任务 |
分值 |
附加限制 |
| 1 |
10 |
P≤100,T≤100;所有初始编号在 0 到 100 之间 |
| 2 |
14 |
P≤500,T≤100 |
| 3 |
17 |
P≤3⋅105,T≤100 |
| 4 |
13 |
P≤100,T≤105 |
| 5 |
20 |
P≤500,T≤5⋅107 |
| 6 |
26 |
P≤3⋅105,T≤5⋅107 |