AT_joi2023_yo2_e.日本沈没 2 (Japan Sinks 2)

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

日本列岛是一个东西向狭长的群岛。日本列岛被南北方向的分界线分成 NN 个区块。区块从西到东依次编号为 11 到 NN。现在,第 ii 个区块(1≤i≤N1 \leq i \leq N)的海拔为 Ai mA_i\:\mathrm{m}。

在日本列岛上经常会发生暴风雨。每当暴风雨来临时,海浪会导致各区块的海拔按如下方式降低:

  • 对于强度为 xx 的西风暴风雨,在从西数不超过 xx 个的区块中,所有“在其西侧不存在比自身海拔更高的区块”的区块,其海拔都会减少 1 m1\:\mathrm{m}。即,若暴风雨发生前第 ii 个区块的海拔为 aia_i,只有当 i≤xi \leq x,并且对所有满足 1≤k<i1 \leq k < i 的 kk ,ak≤aia_k \leq a_i,此时第 ii 个区块海拔减少 1 m1\:\mathrm{m},否则保持不变。
  • 对于强度为 xx 的东风暴风雨,在从东数不超过 xx 个的区块中,所有“在其东侧不存在比自身海拔更高的区块”的区块,其海拔都会减少 1 m1\:\mathrm{m}。即,若暴风雨发生前第 ii 个区块的海拔为 aia_i,只有当 i≥N−x+1i \geq N - x + 1,并且对所有满足 i<k≤Ni < k \leq N 的 kk,ak≤aia_k \leq a_i,此时第 ii 个区块海拔减少 1 m1\:\mathrm{m},否则保持不变。

你需要模拟接下来 QQ 天内发生的事件。第 jj 天(1≤j≤Q1 \leq j \leq Q)发生如下事件之一:

  • 若 Tj=1T_j = 1,则发生一次强度为 XjX_j 的西风暴风雨。
  • 若 Tj=2T_j = 2,则发生一次强度为 XjX_j 的东风暴风雨。
  • 若 Tj=3T_j = 3,则需要报告此时第 XjX_j 个区块的海拔。

保证任何区块的海拔都不会变成负数。

给定每个区块当前的海拔和接下来 QQ 天的事件,请写程序,对于每一个 Tj=3T_j = 3 的那一天,输出指定区块的当前海拔。

输入格式

输入格式如下:

NN QQ A1A_1 A2A_2 …\dots ANA_N T1T_1 X1X_1 T2T_2 X2X_2 ⋮\vdots TQT_Q XQX_Q

输出格式

对于每一个 Tj=3T_j = 3 的 jj(1≤j≤Q1 \leq j \leq Q),按顺序每行输出第 jj 天时指定区块的海拔(单位:m\mathrm{m})。

输入输出样例

  • 输入#1

    5 7
    7 7 7 7 7
    1 3
    1 1
    3 1
    2 1
    2 5
    3 2
    3 4

    输出#1

    5
    6
    6
  • 输入#2

    5 7
    10 13 14 7 12
    1 5
    2 5
    3 3
    3 4
    2 5
    3 1
    3 2

    输出#2

    12
    7
    9
    11
  • 输入#3

    5 6
    8 6 7 8 9
    1 1
    3 1
    3 5
    1 3
    3 2
    3 3

    输出#3

    7
    9
    6
    6
  • 输入#4

    5 6
    6 8 6 9 7
    2 1
    2 4
    3 5
    1 5
    3 4
    3 3

    输出#4

    5
    7
    6

说明/提示

子任务

1.(55 分)N≤2 000N \leq 2\,000,Q≤2 000Q \leq 2\,000。
2.(2727 分)若 Tj≠3T_j \neq 3,则 Xj=NX_j = N(1≤j≤Q1 \leq j \leq Q)。
3.(2828 分)A1=A2=⋯=AN=QA_1 = A_2 = \cdots = A_N = Q。
4.(2020 分)不存在 Tj=2T_j = 2(1≤j≤Q1 \leq j \leq Q)。
5.(2020 分)无其他额外限制。

样例解释 1

区块 1,2,3,4,51,2,3,4,5 的海拔 [m][m]

事件 处理后各区块海拔
初始 7,7,7,7,77, 7, 7, 7, 7
第1天 持续强度为3的西风暴风雨 西面前3个区块中,没有更西侧比本身更高的区块的是 1,2,3 区块 → 6,6,6,7,76, 6, 6, 7, 7
第2天 持续强度为1的西风暴风雨 西面第1个区块中,没有更西侧比本身更高的区块是 1 区块 → 5,6,6,7,75, 6, 6, 7, 7
第3天 查询1号区块的海拔 55
第4天 持续强度为1的东风暴风雨 东面第1个区块中,没有更东侧比本身更高的区块是 5 区块 → 5,6,6,7,65, 6, 6, 7, 6
第5天 持续强度为5的东风暴风雨 东面前5个区块中,没有更东侧比本身更高的区块是 4,5 区块 → 5,6,6,6,55, 6, 6, 6, 5
第6天 查询2号区块的海拔 66
第7天 查询4号区块的海拔 66

本样例满足子任务 1,3,51, 3, 5 的限制条件。

样例解释 2

本样例满足子任务 1,2,51, 2, 5 的限制条件。

样例解释 3

本样例满足子任务 1,4,51, 4, 5 的限制条件。

样例解释 4

本样例满足子任务 1,51, 5 的限制条件。

数据范围与限制

  • 1≤N≤300 0001 \leq N \leq 300\,000。
  • 1≤Q≤300 0001 \leq Q \leq 300\,000。
  • Q≤Ai≤109Q \leq A_i \leq 10^9(1≤i≤N1 \leq i \leq N)。
  • 1≤Tj≤31 \leq T_j \leq 3(1≤j≤Q1 \leq j \leq Q)。
  • 1≤Xj≤N1 \leq X_j \leq N(1≤j≤Q1 \leq j \leq Q)。
  • 输入数据均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页