#1550. 音频处理
音频处理
题目描述
在数字音频处理中,一段录音可以通过记录每个时刻的强度值来数字化。这些强度值都是非负整数。
对于一段音频,若包含 个不同的强度值,则每个强度值需要用 比特(bit)来存储。因此,存储整段音频共需要 比特的空间。
为了压缩音频使其能放入有限存储空间,我们采用如下压缩方式:
选择两个整数 ,对音频强度序列 进行变换:
$$v_i = \begin{cases} v_i & \text{若 } l \leq v_i \leq r \\ l & \text{若 } v_i < l \\ r & \text{若 } v_i > r \end{cases} $$其中,第 2、3 种情况被视为强度值被修改。
给定强度值序列 和存储器大小 字节(1 字节 = 8 比特),请找到一组 ,使得压缩后的音频能存入该存储器,并最小化被修改的强度值数量。
输入格式
第一行包含两个正整数 $n, I \ (1 \leq n \leq 4 \times 10^5, 1 \leq I \leq 10^8)$,分别表示音频的时刻总数和存储器大小。
第二行包含 个非负整数 ,表示每个时刻的强度值。
输出格式
输出一个整数,表示在所有符合存储要求的压缩方案中,被修改的强度值的最小数量。
样例输入输出
样例输入 1
6 1
2 1 2 3 4 3
样例输出 1
2
样例输入 2
6 2
2 1 2 3 4 3
样例输出 2
0
样例输入 3
6 1
1 1 2 2 3 3
样例输出 3
2
部分分
- (10 分),,所有 均相同
- (20 分),( 为原序列中不同强度值的数量)
- (30 分),
- (40 分)无特殊限制,需通过所有测试用例,保证所有输入在int范围内
Related
In following contests: