#P14761. [Bulgarian2026冬季赛]adapters
[Bulgarian2026冬季赛]adapters
题目描述
在前往 NWERC 的火车上,Gubcif 和他的队友们发现唯一的一个插座已经被占用了。于是他拿出了一个拥有 10^9 个插孔的巨大插排,这样看起来似乎所有人的设备都能充电。
这个插排可以看成一排长度为 L 的插孔,每个插孔的直径均为 3 厘米。现在有 N 个充电器,第 i 个充电器的长度为整数 s_i。
每个充电器的插头总是在它的两个端点之一,因此每个充电器只能以两种朝向使用。充电器之间不能重叠,但可以相互接触,也可以伸出插排边界之外,只要它确实插在某个插孔上即可。
你的任务是安排这些充电器的摆放方式,使得能够同时插上的充电器数量尽可能多。

输入格式
第一行输入两个正整数 N 和 L,分别表示充电器数量和插排上的插孔数量。
第二行输入 N 个整数 s_i,表示每个充电器的长度。
注意:你可以将任意充电器旋转 180° 后再使用。
输出格式
输出一个整数,表示最多能同时插上的充电器数量。
数据范围
1 <= N <= 2 × 10^51 <= L <= 10^93 <= s_i <= 10^9
子任务
| 子任务 | 分值 | N |
L |
其他限制 |
|---|---|---|---|---|
| 1 | 20 | <= 10 |
<= 12 |
- |
| 2 | 40 | <= 2000 |
<= 1500 |
存在一种解,使被选中的充电器按输入顺序摆放(不要求全部被选中) |
| 3 | <= 2 × 10^5 |
<= 10^9 |
- |
只有当某个子任务的所有测试点全部通过时,才可获得该子任务分数。
样例
样例 1
输入
5 7
7 4 4 5 8
输出
5
样例 2
输入
8 9
7 4 3 6 4 8 5 6
输出
6