#P5584. 「SWTR-1」Sunny's Crystals
「SWTR-1」Sunny's Crystals
题目背景
小 喜欢收集水晶。
题目描述
小 有 个水晶,每个水晶有一个属性 ,为这个水晶的价值。
有一天,小 来到了 小 家,让 小 把他的水晶排成一个序列,并且摧毁所有价值为 的水晶。
但是,由于这个序列的特殊性,你的每次摧毁必须要满足:
- 该水晶在序列里的位置必须要是 的次幂,即你只能摧毁在 这个位置上的水晶, 且为整数,其中 为现在序列里水晶的个数。
摧毁后,所有在该水晶后面的水晶都会向前移动一格。
例如,水晶价值序列 ,你只能摧毁位置为 上的水晶。
如果摧毁 号水晶,序列就会变成 。
为了节省时间,小 想知道最少多少次可以摧毁所有价值为 的水晶,且第 次摧毁的水晶初始位置是什么。
本题使用 Special Judge,如果有多种答案,任意输出一种即可。
输入格式
第一行两个整数 。
第二行, 个正整数 。
输出格式
第一行一个整数 ,表示最少可以摧毁所有 的次数。
接下来一行 个数,第 个数表示 第 次摧毁时被摧毁的水晶的初始位置是什么,用空格隔开。
5 4
1 4 2 4 5
2
4 2
5 2
1 2 2 2 2
4
2 3 4 5
5 8
6 10 4 7 8
2
4 5
提示
样例说明
样例 :
先摧毁后面的 ,初始位置为 ,价值序列变成: 。
再摧毁前面的 ,初始位置为 。
总次数是 次。
样例 :
先摧毁第 个 ,初始位置为 ,序列变成:。
再摧毁剩下的第 个 ,初始位置为 ,序列变成:。
再摧毁第一个 ,初始位置为 ,序列变成:。
再摧毁第一个 ,初始位置为 。
总次数是 次。
数据范围与约定
对于 的数据,有 。
对于 的数据,有 。
对于 的数据,有 。
对于 的数据,有 。
对于 的数据,有 。
对于 的数据,有 。
对于 的数据,有 ,保证 的个数不大于 。
碎掉的水晶在阳光下闪闪发光……