#HK5358. 「OOI 2025 Day 2」最佳跑者

「OOI 2025 Day 2」最佳跑者

题目描述

题目译自 Open Olympiad in Informatics 2025 Day2 T2 「Лучший бегун / Best Runner

在体育场上有 nn 条跑道,长度分别为 a1,a2,,ana_1, a_2, \ldots, a_n。同时有 mm 名跑者,其中第 ii 名跑者起始于跑道 bib_i 的起点。

所有跑者将在 TT 秒内进行训练。跑者的训练过程如下:

假设当前跑者位于跑道 ii 的起点,他需要 aia_i 秒跑完这条跑道。跑完后,他可以立即选择:回到当前跑道 ii 的起点,或者移动到跑道 (i1)(i - 1) 的起点(如果 i>1i > 1),或者移动到跑道 (i+1)(i + 1) 的起点(如果 i<ni < n)。然后,他将继续从所选择的跑道起点开始跑步。一旦训练时间达到 TT 秒,他将结束训练。

我们将跑者中在训练时间内跑完最多完整跑道数量的人称为最佳跑者(可能有多个最佳跑者)。请确定最佳跑者能跑完多少条完整跑道。

输入格式

第一行包含三个整数 n,m,Tn, m, T $(1 \leq m \leq n \leq 300000, 1 \leq T \leq 10^{9})$,分别表示跑道数量、跑者数量和训练时长。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ai109)(1 \leq a_i \leq 10^{9}),表示各跑道的长度。

第三行包含 mm 个整数 b1,b2,,bmb_1, b_2, \ldots, b_m (1b1<b2<<bmn)(1 \leq b_1 < b_2 < \ldots < b_m \leq n),表示跑者起始的跑道编号。

输出格式

输出一个整数,即在训练时间内某个跑者能跑完的最大完整跑道数量。

5 3 10
4 5 2 7 1
1 2 4

4

在第一个样例中,从跑道 44 开始的跑者可以跑完最多的跑道:他应该先跑完跑道 44,然后移动到跑道 55 并跑完 33 次。

4 2 11
4 5 7 10
2 3

2

在第二个样例中,从跑道 22 开始的跑者可以跑完跑道 22 两次。

数据范围与提示

详细子任务附加限制及分值如下表所示。其中子任务 00 是样例。

子任务 分值 附加限制 子任务依赖 备注
11 2323 n1000n \leq 1000 00
22 1010 对于所有 1i<n1 \leq i < naiai+1a_i \leq a_{i+1}
33 1616 T20T \leq 20 00
44 1919 ai20a_i \leq 20 00
55 1111 m=nm = n
66 2121 050 \sim 5