A. 音频处理

    Type: Default 1000ms 256MiB

音频处理

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

在数字音频处理中,一段录音可以通过记录每个时刻的强度值来数字化。这些强度值都是非负整数。

对于一段音频,若包含 KK 个不同的强度值,则每个强度值需要用 k=log2Kk = \lceil \log_2 K \rceil 比特(bit)来存储。因此,存储整段音频共需要 n×kn \times k 比特的空间。

为了压缩音频使其能放入有限存储空间,我们采用如下压缩方式:

选择两个整数 l,r (lr)l, r \ (l \leq r),对音频强度序列 vv 进行变换:

$$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 种情况被视为强度值被修改。

给定强度值序列 aa 和存储器大小 II 字节(1 字节 = 8 比特),请找到一组 l,rl, r,使得压缩后的音频能存入该存储器,并最小化被修改的强度值数量。

输入格式

第一行包含两个正整数 $n, I \ (1 \leq n \leq 4 \times 10^5, 1 \leq I \leq 10^8)$,分别表示音频的时刻总数和存储器大小。

第二行包含 nn 个非负整数 a1,a2,,ana_1, a_2, \dots, a_n,表示每个时刻的强度值。

输出格式

输出一个整数,表示在所有符合存储要求的压缩方案中,被修改的强度值的最小数量。

样例输入输出

样例输入 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

部分分

  1. (10 分)n100n \leq 100I=1I = 1,所有 aia_i 均相同
  2. (20 分)n1000n \leq 1000K100K \leq 100KK 为原序列中不同强度值的数量)
  3. (30 分)n105n \leq 10^5K1000K \leq 1000
  4. (40 分)无特殊限制,需通过所有测试用例,保证所有输入在int范围内

8.4日竞赛3班复赛模拟

Not Attended
Status
Done
Rule
IOI
Problem
4
Start at
2025-8-5 18:00
End at
2025-8-5 21:00
Duration
3 hour(s)
Host
Partic.
9