#P11914. [PA 2025] 上班 / Praca
[PA 2025] 上班 / Praca
题目背景
PA 2025 R1B.
题目描述
一天被分为 段时间。每段时间可能会有以下三种事情:
- 举行了一场线下会议;
- 举行了一场线上会议;
- 空闲。
每段时间内,Bajtazar 所在的地点可能有三种:
- 在家:
- 在家里无法参加线下会议(被迫翘掉会议)。
- 在家里可以参加线上会议(也可以选择翘掉会议做题)。
- 在家里可以做题。
- 在公司:
- 在公司必须参加线下会议。
- 在公司必须参加线上会议。
- 在公司无法做题。
- 在通勤:
- 通勤时无法参加线下会议(被迫翘掉会议)。
- 通勤时无法参加线上会议(被迫翘掉会议)。
- 通勤时无法做题。
一天开始时(第 段时间初),Bajtazar 在家里。一天结束时(第 段时间末),Bajtazar 必须回到家中。
Bajtazar 可以选择去办公室至多一次。从家到办公室、从办公室回家都要通勤。
通勤会消耗 段时间,即如果选择在第 段时间初开始通勤,在第 段时间末会结束通勤。
Bajtazar 想打一辈子算法竞赛,所以他想抽出尽可能多的时间做题。但是他最多能翘掉 场会议,请帮他算出至多能用多少个时间段来做题。
输入格式
第一行,三个整数 。
第二行,一个长度为 的字符串 。,表示第 段时间的类型(1:线下会议;2:线上会议;3:空闲)。
输出格式
如果不可能翘掉 场会议,输出一行一个 。
否则输出一行一个非负整数表示答案。
10 1 2
3233313132
3
7 0 2
3313233
0
6 5 1
231323
6
4 1 1
1331
-1
提示
样例解释
样例 解释:一个最优解如下。
- 解题(在家)
- 线上会议(在家)
- 解题(在家)
- 通勤(去办公室)
- 通勤(去办公室)
- 线下会议(在办公室)
- 通勤(回家)
- 通勤(回家,被迫翘掉一场会议)
- 解题(在家)
- 线上会议(在家)
- 样例 解释:唯一一个解如下。
- 通勤(去办公室)
- 通勤(去办公室)
- 线下会议(在办公室)
- 空闲(在办公室)
- 线上会议(在办公室)
- 通勤(回家)
- 通勤(回家)
- 样例 解释:一整天都待在家里,翘掉所有会议。
- 样例 解释:第一场会议和最后一场会议都无法参加。
数据范围
- ;
- ;
- 。