#P14761. [Bulgarian2026冬季赛]adapters

[Bulgarian2026冬季赛]adapters

题目描述

在前往 NWERC 的火车上,Gubcif 和他的队友们发现唯一的一个插座已经被占用了。于是他拿出了一个拥有 10^9 个插孔的巨大插排,这样看起来似乎所有人的设备都能充电。

这个插排可以看成一排长度为 L 的插孔,每个插孔的直径均为 3 厘米。现在有 N 个充电器,第 i 个充电器的长度为整数 s_i

每个充电器的插头总是在它的两个端点之一,因此每个充电器只能以两种朝向使用。充电器之间不能重叠,但可以相互接触,也可以伸出插排边界之外,只要它确实插在某个插孔上即可。

你的任务是安排这些充电器的摆放方式,使得能够同时插上的充电器数量尽可能多。

输入格式

第一行输入两个正整数 NL,分别表示充电器数量和插排上的插孔数量。

第二行输入 N 个整数 s_i,表示每个充电器的长度。

注意:你可以将任意充电器旋转 180° 后再使用。

输出格式

输出一个整数,表示最多能同时插上的充电器数量。

数据范围

  • 1 <= N <= 2 × 10^5
  • 1 <= L <= 10^9
  • 3 <= 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