时间记录
题面描述
A 研究所承包了一处矿产,在矿洞中有无限条条双向铁路。矿车可以在其中一条铁路上进入或离开矿洞,可以朝任意方向行动,但是不能跨越别的矿车,也不能移动到别的铁路上。
由于矿产的特殊性,同一天内,只能有矿车进入矿洞,或者只有矿车离开矿洞。为了跟踪研究所的所有矿车,研究所制作了一份时间记录。一天的时间记录可以用一个字符((
或者 )
)以及一个正整数 表示:
- 若字符为
(
,表示当天有 辆矿车被放上铁路并进入矿洞。 - 若字符为
)
,表示当天有 辆矿车从矿洞离开并从铁路上移除。
为了研究采矿的效率,研究所需要知道对于一段时间内一条铁路的进出状态。研究所发现,他们并没有记录每辆矿车是从哪一条铁路进去的!所以,他们打算以可能的最大值来衡量效率。他们希望找到其中最长的一个连续段,使得这个连续段可能正确记录了同一条铁路从没有矿车开始到没有矿车结束。
作为技术支持,你需要帮忙计算这个问题的答案。
输入格式
第一行两个整数 ,表示一共记录了连续 天的时间记录,并且要对着这份记录研究 次。
第二行 个整数 ,表示第 天有 辆进入或离开矿洞。
第三行 个 ()
中的字符。若第 个字符为 (
,表示当天只有矿车进入矿洞。若为 )
,则表示当天只有矿车离开矿洞。
接下来 行,每行两个整数 ,表示查询只观察第 到 这些天,能选出的最长的连续的记录长度是多少,使得它可能正确记录了同一条铁路从没有矿车开始到没有矿车结束。
输出格式
对于每一次研究输出一行,表示能选出的最长的正确记录一条铁路从没有矿车开始到没有矿车结束的连续记录长度。
样例
3 3
1 2 3
)()
1 1
1 3
2 3
0
4
4
说明/提示
如果只观察第 天,当天只有矿车从矿洞出来,因此没有一辆矿车进入后又离开。
如果只观察第 天(对应的记录是 (()))
),一种可能的现实是:
- 初始时 号铁路上没有矿车。
- 第二天,有一辆矿车从 号铁路进入矿洞。
- 第二天,有一辆矿车从 号铁路进入矿洞。
- 第三天,有一辆矿车从 号铁路离开矿洞。
- 第三天,有一辆矿车从 号铁路离开矿洞。
- 第三天,有一辆矿车从 号铁路离开矿洞。
其中的前 条记录连续,且正确记录了一条铁路从没有矿车开始,到没有矿车结束。可以证明,在这一段时间内,不存在连续的长度 的记录能满足条件。
对于 的数据,,,。
输入的第三行仅由 ()
构成。
国庆提高/省选组比赛
- Status
- Live... (Attended)
- Rule
- IOI
- Problem
- 40
- Start at
- 2025-10-15 19:32
- End at
- 2025-11-16 0:00
- Duration
- 1104 hour(s)
- Host
- Partic.
- 85