#P15538. [nordic2018]French Fries

    ID: 14750 传统题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>CF2300数学差分前缀和组合数学概率论

[nordic2018]French Fries

题目描述

有无限多个人站成一排,这排人向左右两边无限延伸。

最开始,选出 PP 个不同的人,每人获得一根薯条。由于这不太公平,所有人会同时进行如下操作:把自己手中的所有薯条分成两半,一半给左边的人,一半给右边的人。

这样的操作总共进行 TT 次。

如果在 TT 次操作后,某个人拥有至少 LL 根薯条,那么这个人就会吃饱。注意 LL 不一定是整数。

你的任务是求有多少个人最终会吃饱。

输入格式

第一行包含两个整数 P,TP,T 和一个浮点数 LL

  • PP 表示最开始获得薯条的人数;
  • TT 表示传递操作次数;
  • LL 表示吃饱所需的薯条数量。

第二行包含 PP 个互不相同的整数,表示最开始获得薯条的人的位置编号。

输出格式

输出一个整数,表示最终拥有至少 LL 根薯条的人数。

一个答案 XX 会被认为正确,当且仅当它位于以下两个数量之间:

  • 最终拥有至少 0.8L0.8L 根薯条的人数;
  • 最终拥有至少 1.2L1.2L 根薯条的人数。

也就是说,本题允许一定的近似误差。

样例 1 输入

2 1 0.74
0 2

样例 1 输出

1

样例 1 解释

最开始,位置 00 和位置 22 的人各有一根薯条。一次操作后,位置 1-1 和位置 33 的人各有 0.50.5 根薯条,位置 11 的人有 11 根薯条。由于 L=0.74L=0.74,只有位置 11 的人会吃饱。

样例 2 输入

4 100 0.1
1 2 3 11

样例 2 输出

13

样例 2 说明

输出 1313 是准确答案;由于本题允许近似误差,任何 12121515 之间的输出也会被接受。

数据范围与子任务

  • 1P31051 \le P \le 3 \cdot 10^5
  • 1T51071 \le T \le 5 \cdot 10^7
  • 104L1010^{-4} \le L \le 10
  • 初始位置互不相同,且均在 0010710^7 之间。
子任务 分值 限制
1 10 P100P \le 100T100T \le 100,所有初始位置在 00100100 之间
2 14 P500P \le 500T100T \le 100
3 17 P3105P \le 3 \cdot 10^5T100T \le 100
4 13 P100P \le 100T105T \le 10^5
5 20 P500P \le 500T5107T \le 5 \cdot 10^7
6 26 P3105P \le 3 \cdot 10^5T5107T \le 5 \cdot 10^7