#HK4923. 「BalticOI 2025」BOI 缩写
「BalticOI 2025」BOI 缩写
题目描述
题目译自 BalticOI 2025 Day1「BOI acronym」
你肯定知道,BOI 是波罗的海信息学奥林匹克竞赛(Baltic Olympiad in Informatics)的缩写。
不过,主办方觉得 BOI 这个缩写念起来太简单了(毕竟在英语里它只有一个音节)。所以,他们决定设计一个新的缩写。为了让它与 CEOI 等其他区域性奥林匹克竞赛的缩写区分开来,新缩写依然只由字符 B、O 和 I 组成。而且,B 必须是新缩写中最常见的字符,也就是说,B 的出现次数必须严格多于 O 和 I 的出现次数。
例如,OBOIIBB 和 B 是合法的缩写,但 IBIIBB、BOI、O 和 BCB 则不是。
为了增加趣味性,主办方没有直接公布完整的缩写,而是提供了一些线索:他们给出了新缩写中每个连续子串中最常见字符的出现次数。注意,这个最常见字符不一定是 B,而且最常见字符也不一定唯一。令人惊讶的是,这些线索竟然足以推断出所有 B 的位置。你能找出它们吗?
输入格式
第一行包含一个整数 ,表示新缩写的长度。
接下来的 行描述了线索。第 行包含 个整数 ,其中 表示缩写中从第 个位置开始到第 个位置结束的子串中,最常见字符的出现次数。位置编号从 到 。
保证至少存在一个与给定线索一致的合法缩写。
输出格式
输出一行,包含所有 B 出现的位置,按升序排列,位置之间用单个空格分隔。每个位置必须是 到 范围内的整数。
6
1 1 2 3 3 3
1 1 2 2 2
1 2 2 2
1 1 2
1 2
1
1 3 4
数据范围与提示
详细子任务附加限制及分值如下表所示。
| 子任务编号 | 附加限制 | 分值 |
|---|---|---|
目标缩写只包含字符 B 和 O |
||
| 目标缩写中没有两个连续的相同字符 | ||
| 无附加限制 |