#P8919. 『MdOI R5』Message
『MdOI R5』Message
题目描述
小 A 有一个群。这个群正在玩一个小游戏:给出一个函数 ,从某一个时间点起,发送第 条消息,而 的群友会受到一个小惩罚。当群内消息总数达到 时游戏结束。
但小 A 是个话痨,这段时间他在这个群发了 条消息,他发的第 条消息在整个消息记录里是第 条消息。
但是小 A 不想受到惩罚,而小 A 恰好是管理员,他可以撤回任何时刻、任何群成员发的任何消息,注意这会导致这条消息之后的消息排名改变。
但是撤回消息太多容易被当成暴政,因此他要尽可能减少撤回信息次数,不管是自己的还是别人的。
接下来你也猜到你要干什么了:假如其他群成员不操作,给出 、函数 和 ,求出他至少要撤回几条消息。
输入格式
输入的第一行有两个正整数 ,表示他的消息数量以及群内消息数量总数。
第二行是一个长为 的 01 串 ,其第 项 表示发第 条消息的群成员是否要受到惩罚。
第三行有 个正整数 ,表示每条消息的初始排名。保证数列 严格递增,且 。
输出格式
输出一行一个整数 表示至少撤回几条消息才能让小 A 不被惩罚。
4 11
01101010001
2 6 8 11
2
提示
【样例解释】
下面给出一种可能的方式:
- 小 A 先撤回第 条消息(群友发的),他的四条消息在消息记录里现在是第 条。
- 然后撤回第 条消息(他自己发的),剩下三条消息在消息记录里现在是第 条。
此时三条消息满足 ,符合题意。
可以证明无法仅撤回一条消息达成要求。
【数据范围】
Subtask | 特殊性质 | 分值 | ||
---|---|---|---|---|
1 | ||||
2 | ||||
3 | ||||
4 | ||||
5 | A | |||
6 |
- 特殊性质 A:小 A 没有连发两条消息。
对于全部数据,,, 严格递增,。