该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

序列

题目描述

Y 同学正在维护一个长度为 NN 的整数序列 A={a1,a2,,aN}A = \{a_1, a_2, \dots, a_N\}。初始时,序列中的每个元素 ai{0,1}a_i \in \{0, 1\}

为了保持系统的稳定性,序列中的每个元素都需要保持在至少 11 的水平。然而,系统会受到外部干扰,导致某些位置的数值下降。同时,Y 同学每回合可以进行维护操作来提升数值。

具体的过程如下: 系统的时间从第 11 回合开始流动。

  1. 外部干扰:已知有 MM 次预定的干扰事件。第 ii 次干扰发生在第 wiw_i 回合开始时,它会使位置 xix_i 处的数值减少 viv_i(即 axiaxivia_{x_i} \leftarrow a_{x_i} - v_i)。数值减少后可能变为负数。
  2. 维护操作:在每一个回合(包括第 1 回合),Y 同学都可以执行一次操作:选择一个长度为 KK 的连续子区间 [p,p+K1][p, p+K-1](其中 1pNK+11 \le p \le N-K+1),将该区间内所有元素的值增加 11

Y 同学想知道,最少经过多少个回合(记为 TT),他可以通过合理安排这 TT 个回合内的维护操作(共计 TT 次区间加 11),使得在第 TT 回合结束时(即所有的第 1T1 \dots T 回合的干扰生效,且 TT 次维护操作完成后),序列中所有的元素都满足 ai1a_i \ge 1

注意:虽然干扰是按回合发生的,但在计算第 TT 回合的状态时,我们可以认为前 TT 个回合的所有干扰和维护操作是累积结算的。

输入格式

第一行输入四个整数 N,M,K,LN, M, K, L。分别表示序列长度、干扰事件数量、维护操作的区间长度、以及单次干扰的最大值。

第二行输入 NN 个整数 a1,a2,,aNa_1, a_2, \dots, a_N,表示序列的初始状态(0011)。

第三行输入 LL 个整数 r1,r2,,rLr_1, r_2, \dots, r_L,其中 rvr_v 表示产生一次数值减少 vv 的干扰后,下一次干扰至少需要间隔的回合数(此信息主要用于解释数据的生成约束)。

接下来 MM 行,每行输入三个整数 wi,xi,viw_i, x_i, v_i,表示在第 wiw_i 回合开始时,位置 xix_i 的数值减少 viv_i

输出格式

输出一个整数,表示使所有元素最终至少为 11 所需的最少回合数。

样例

样例输入 #1

6 1 3 2
0 0 0 0 0 0
1 2
2 1 1

样例输出 #1

3

样例输入 #2

6 1 3 2
1 0 0 0 0 0
1 2
2 1 1

样例输出 #2

2

样例输入 #3

6 1 6 2
0 0 0 0 0 0
1 2
2 1 1

样例输出 #3

1

数据范围与约定

对于 100%100\% 的数据,保证:

  • 1N,M5×1051 \le N, M \le 5 \times 10^5
  • 1KN1 \le K \le N
  • 1L1001 \le L \le 100
  • ai{0,1}a_i \in \{0, 1\}
  • 1=r1<r2<<rL2×L1 = r_1 < r_2 < \dots < r_L \le 2 \times L
  • 1w1<w2<<wMN+L1 \le w_1 < w_2 < \dots < w_M \le N + L
  • 输入的干扰事件满足时间约束:wi+rviwi+1w_i + r_{v_i} \le w_{i+1}
  • 1xiN1 \le x_i \le N
  • 1viL1 \le v_i \le L

「果壳杯」 ROUND 32 (Div. 3)

未参加
状态
已结束
规则
IOI
题目
5
开始于
2025-12-12 18:00
结束于
2025-12-19 18:00
持续时间
2.5 小时
主持人
参赛人数
16