#7373. [POCamp 2022] 救火 / Brinnande träd

[POCamp 2022] 救火 / Brinnande träd

题目描述

一场森林火灾在一个自然保护区爆发。该区域有一种稀有的树种,世界其他地方不存在。你身处森林中,在回家的路上,你打算尽可能拯救更多的树。

总共有 NN 棵稀有树,编号从 11NN,你将按这个顺序从它们身边跑过。拯救第 ii 棵树需要 AiA_i 秒,但你必须最迟在第 XiX_i开始拯救,否则这棵树会被烧毁。即使第 XiX_i 秒落在你正在拯救该树的过程中也没有关系。

在树与树之间奔跑对你来说不花任何时间,但你只能向前跑,因此只能按你遇到它们的顺序救树。另外,已知 X1X2XNX_1 \le X_2 \le \dots \le X_N

求你最多能救下多少棵树。

输入格式

第一行包含一个整数 NN1N41051 \le N \le 4 \cdot 10^5),表示树的数量。

第二行包含 NN 个整数 X1,X2,,XNX_1, X_2, \dots, X_N0Xi1090 \le X_i \le 10^9),表示你必须开始拯救第 ii 棵树的最晚秒数。

第三行包含 NN 个整数 A1,A2,,ANA_1, A_2, \dots, A_N1Ai1091 \le A_i \le 10^9),表示拯救第 ii 棵树所需的时间。

输出格式

输出一个整数,为可以拯救的树的最大数量。

样例

6
1 1 2 2 5 8
2 3 3 5 2 2
4
5
0 0 1 2 3
5 1 1 1 1
4
3
5 5 5
6 1 1
2

数据范围与提示

本题采用捆绑测试。

子任务编号 得分 限制
1 10 A1=A2==ANA_1 = A_2 = \dots = A_N
2 18 X1=X2==XNX_1 = X_2 = \dots = X_N
3 15 N,Ai,Xi100N, A_i, X_i \le 100
4 22 N2000N \le 2000
5 35 无额外限制