/ WHOJ / 题库 /

操作

操作

题目描述

现有一包含 \(n\) 个数的序列 \(A_1,A_2,A_3,...,A_n\),给定一个定值 \(k\)。

每次我们可以选择数列中一个下标为 \(2\) 的次幂的元素(如 \(A_1,A_2,A_4,A_8...\))将其删除出数列(删除后,其后的元素会自动前移一格)。

问最少进行多少次操作,能将序列中所有为 \(k\) 的元素删除?

格式

输入格式

第一行两个整数 \(n,k\);

第二行 \(n\) 个整数,\(A_1,A_2,...,A_n\)

输出格式

第一行一个整数,为最少操作次数。

样例1

输入样例1

5 2 1 2 2 2 2

输出样例1

4

样例解释

连续删除 \(4\) 次 \(A_2\),即可。

限制

对于 \(20\%\) 的数据,\(n<=10\)

对于 \(50\%\) 的数据,\(n<=10000\)

对于 \(100\%\) 的数据,\(n<=300000\)