#ATarc127e. [ARC127E] Priority Queue
[ARC127E] Priority Queue
题目描述
给定一个长度为 的整数序列 。 恰好包含 个 和 个 。
すぬけくん有一个集合 ,最开始 为空。他将进行 次操作,第 次操作如下:
- 当 时:选择一个满足 的整数 ,并将其加入 。但之前已经选择过的整数不能再次选择为 。
- 当 时:从 中删除当前的最大元素。保证在进行该操作前, 不为空。
请问最终可能得到多少种不同的 集合?请将答案对 取模后输出。
输入格式
输入通过标准输入给出,格式如下:
输出格式
输出一个整数,表示最终可能得到的不同 集合的数量,对 取模。
样例 1
输入
3 1
1 1 2 1
输出
2
样例 2
输入
20 6
1 1 1 1 1 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 2 1 1 1 1 1
输出
5507
说明/提示
限制条件
- 恰好有 个 满足 。
- 恰好有 个 满足 。
- 每次进行 的操作前, 都不为空。
- 输入的所有值均为整数。
样例解释 1
最终可能的 集合有 和 共 种。例如,按如下方式操作,最终 :
- :向 中加入 。
- :向 中加入 。
- :从 中删除 。
- :向 中加入 。
由 ChatGPT 4.1 翻译