能做到吗?
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

现在是2025年的8月份,9月份就要开始ICPC网络赛预选赛了,为了获得区域赛名额,社长决定从现在开始努力训练,希望在网络赛中取得好成绩,但是社长精力有限,只能在n道题目中挑选其中的几道来做,其中,每道题目需要消耗ai点精力,做完之后可以获得bi点经验(1<=i<=n)(若精力不够,那么无法做出这道题目,也不会获得经验),初始社长的等级为x级(此时经验条为空),精力为y,其中每升1级需要的经验值为t,在网络赛中获得名额需要至少k级,请问社长能做到吗?

输入描述:

第一行输入五个数x,y,n,t,k,分别表示社长的等级、精力、题目的数量、经验条的大小和获得名额需要达到的等级
1 ≤ n ≤ 10^3)(1 \leq y\leq 10^3)(1 \leq x\leq 10^9)(1 \leq t\leq 10^9)(1 \leq k\leq 10^9
第二行输入n个数,表示每道题目需要的精力a_i1 \leq a_i\leq 10^3
第三行输入n个数,表示每道题目可以获得的经验b_i1 \leq b_i\leq 10^3

输出描述:

如果社长能做到,请输出“YES”,否则,输出“NO”
示例1

输入

复制
1 10 5 100 2
2 3 4 5 6
10 20 30 40 50

输出

复制
NO

说明

社长只有10点精力,到达2级需要100点经验值,在精力有限的情况下,社长无法达到2级,所以输出“NO”
示例2

输入

复制
2 5 3 50 2
10 8 6
30 25 20

输出

复制
YES

说明

社长的等级一开始就足够,所以社长做到了!输出“YES”

备注: