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

[POCamp 2022] 救火 / Brinnande träd

题目描述

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

总共有 N N 棵稀有树,编号从 1 到 N N ,你将按这个顺序从它们身边跑过。拯救第 i i 棵树需要 Ai A_i 秒,但你必须最迟在第 Xi X_i 开始拯救,否则这棵树会被烧毁。另一方面,即使第 Xi X_i 秒落在你正在拯救该树的过程中也没有关系。

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

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

输入格式

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

第二行包含 N N 个整数 Xi X_i 0Xi109 0 \le X_i \le 10^9 ),表示你必须开始拯救第 i i 棵树的最晚秒数。

第三行包含 N N 个整数 Ai A_i 1Ai109 1 \le A_i \le 10^9 ),表示拯救第 i i 棵树所需的时间。

输出格式

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

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==AN A_1 = A_2 = \dots = A_N | | 2 | 18 | X1=X2==XN X_1 = X_2 = \dots = X_N | | 3 | 15 | N,Ai,Xi100 N, A_i, X_i \le 100 | | 4 | 22 | N2000 N \le 2000 | | 5 | 35 | 无额外限制 |