#CF2080B. 最佳跑者

    ID: 6385 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>贪心动态规划其他二分查找滑动窗口双指针扫描前缀和优化

最佳跑者

最佳跑者

输入文件: 标准输入
输出文件: 标准输出
时间限制: 1 秒
内存限制: 256 MB


题目描述

体育场中有 nn 条跑道,长度分别为 a1,a2,,ana_1, a_2, \dots, a_n
mm 名跑者,第 ii 名跑者从第 bib_i 条跑道的起点出发。

所有跑者都将训练 TT 秒。每名跑者的训练过程如下:

假设当前跑者位于第 ii 条跑道的起点。
他会花费 aia_i 秒跑到当前跑道的终点。
到达终点后,他可以立即:

  • 返回当前跑道的起点,或者
  • 移动到第 i1i-1 条跑道的起点(如果 i>1i > 1),或者
  • 移动到第 i+1i+1 条跑道的起点(如果 i<ni < n)。

然后,他从所到达的跑道起点继续奔跑。
当训练总时长达到 TT 秒时,训练结束。

我们定义最佳跑者为在训练时间内完成完整跑道次数最多的跑者(可能有多人并列)。
请计算最佳跑者完成的完整跑道数量。


输入格式

第一行包含三个整数 n,m,Tn, m, T1mn3000001 \le m \le n \le 300\,0001T1091 \le T \le 10^9)—— 跑道数量、跑者数量、训练时长。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9)—— 每条跑道的长度。

第三行包含 mm 个整数 b1,b2,,bmb_1, b_2, \dots, b_m1b1<b2<<bmn1 \le b_1 < b_2 < \dots < b_m \le n)—— 跑者出发的跑道编号。


输出格式

输出一个整数 —— 最佳跑者完成的完整跑道数量。


示例

示例 1

输入

5 3 10
4 5 2 7 1
1 2 4

输出

4

解释:从跑道 44 出发的跑者可以完成最多跑道:先跑完跑道 44,然后移动到跑道 55,再跑 33 次跑道 55


示例 2

输入

4 2 11
4 5 7 10
2 3

输出

2

解释:从跑道 22 出发的跑者可以跑完跑道 2222 次。


评分规则

测试数据分为 66 组。每组通过的前提是该组所有测试以及所需前置组的所有测试均通过。

组号 分值 额外约束 所需前置组
0
1 23 n1000n \le 1000 0
2 10 aiai+1a_i \le a_{i+1}(对所有 1i<n1 \le i < n
3 16 T20T \le 20
4 19 ai20a_i \le 20
5 11 m=nm = n
6 21 0–5