第 4 题 日本沉没 2 (japansinks2)
本题使用文件输入输出 :输入文件 japansinks2.in,输出文件 japansinks2.out。
题目描述
日本列岛是一条东西向狭长的群岛。日本列岛被南北方向的边界线划分为 N N N 个区域。这些区域从西向东依次编号为 1 1 1 至 N N N 。当前,区域 i i i (1 ≤ i ≤ N 1 \le i \le N 1 ≤ i ≤ N )的海拔为 A i A_i A i m。
日本列岛上时常刮起强风。强风会引起海浪,导致各区域的海拔按以下方式下降:
当刮起强度为 x x x 的西风时,在从西数起的 x x x 个区域中,所有满足「其西侧不存在比自身海拔更高的区域」的区域,其海拔将减少 1 1 1 m。换言之,若风暴前区域 i i i 的海拔为 a i a_i a i ,且满足 i ≤ x i \le x i ≤ x ,并对所有满足 1 ≤ k < i 1 \le k < i 1 ≤ k < i 的 k k k 均有 a k ≤ a i a_k \le a_i a k ≤ a i ,则区域 i i i 的海拔减少 1 1 1 m;其他情况下海拔不变。
当刮起强度为 x x x 的东风时,在从东数起的 x x x 个区域中,所有满足「其东侧不存在比自身海拔更高的区域」的区域,其海拔将减少 1 1 1 m。换言之,若风暴前区域 i i i 的海拔为 a i a_i a i ,且满足 i ≥ N − x + 1 i \ge N - x + 1 i ≥ N − x + 1 ,并对所有满足 i < k ≤ N i < k \le N i < k ≤ N 的 k k k 均有 a k ≤ a i a_k \le a_i a k ≤ a i ,则区域 i i i 的海拔减少 1 1 1 m;其他情况下海拔不变。
你必须模拟未来 Q Q Q 天内发生的事件。第 j j j 天(1 ≤ j ≤ Q 1 \le j \le Q 1 ≤ j ≤ Q )将发生以下事件之一:
若 T j = 1 T_j = 1 T j = 1 ,则刮起强度为 X j X_j X j 的西风。
若 T j = 2 T_j = 2 T j = 2 ,则刮起强度为 X j X_j X j 的东风。
若 T j = 3 T_j = 3 T j = 3 ,则报告此时区域 X j X_j X j 的海拔。
另外,根据约束条件,保证任意区域的海拔不会变为负数。
现给出当前各区域的海拔,以及未来 Q Q Q 天内将发生的事件,请编写一个程序,针对所有 T j = 3 T_j = 3 T j = 3 的日期,输出指定区域的海拔。
输入格式
输入数据按以下格式给出:
N N N Q Q Q
A 1 A_1 A 1 A 2 A_2 A 2 ⋯ \cdots ⋯ A N A_N A N
T 1 T_1 T 1 X 1 X_1 X 1
T 2 T_2 T 2 X 2 X_2 X 2
⋮ \vdots ⋮
T Q T_Q T Q X Q X_Q X Q
输出格式
对于每一个满足 T j = 3 T_j = 3 T j = 3 的 j j j (1 ≤ j ≤ Q 1 \le j \le Q 1 ≤ j ≤ Q ),请在一行中输出第 j j j 天时区域 X j X_j X j 的海拔(单位:米),以整数形式表示。
样例
样例 1
输入:
文本 复制
5 7
7 7 7 7 7
1 3
1 1
3 1
2 1
2 5
3 2
3 4
输出:
样例 2
输入:
文本 复制
5 7
10 13 14 7 12
1 5
2 5
3 3
3 4
2 5
3 1
3 2
输出:
样例 3
输入:
文本 复制
5 6
8 6 7 8 9
1 1
3 1
3 5
1 3
3 2
3 3
输出:
样例 4
输入:
文本 复制
5 6
6 8 6 9 7
2 1
2 4
3 5
1 5
3 4
3 3
输出:
提示
数据范围
1 ≤ N ≤ 300 000 1 \le N \le 300\,000 1 ≤ N ≤ 300 000 .
1 ≤ Q ≤ 300 000 1 \le Q \le 300\,000 1 ≤ Q ≤ 300 000 .
Q ≤ A i ≤ 10 9 Q \le A_i \le 10^9 Q ≤ A i ≤ 1 0 9 (1 ≤ i ≤ N 1 \le i \le N 1 ≤ i ≤ N ).
1 ≤ T j ≤ 3 1 \le T_j \le 3 1 ≤ T j ≤ 3 (1 ≤ j ≤ Q 1 \le j \le Q 1 ≤ j ≤ Q ).
1 ≤ X j ≤ N 1 \le X_j \le N 1 ≤ X j ≤ N (1 ≤ j ≤ Q 1 \le j \le Q 1 ≤ j ≤ Q ).
所有输入值均为整数。
子任务
(5 分)N ≤ 2000 N \le 2000 N ≤ 2000 , Q ≤ 2000 Q \le 2000 Q ≤ 2000 .
(27 分)若 T j ≠ 3 T_j \neq 3 T j = 3 , 则 X j = N X_j = N X j = N (1 ≤ j ≤ Q 1 \le j \le Q 1 ≤ j ≤ Q ).
(28 分)A 1 = A 2 = ⋯ = A N = Q A_1 = A_2 = \cdots = A_N = Q A 1 = A 2 = ⋯ = A N = Q .
(20 分)T j ≠ 2 T_j \neq 2 T j = 2 (1 ≤ j ≤ Q 1 \le j \le Q 1 ≤ j ≤ Q ).
(20 分)无额外约束.
翻译由 Qwen3-235B 完成。