你被任命为第 24 届全国信息学奥林匹克竞赛(NOI)的负责人!
今年,比赛由 $N$ 名选手和 2 轮组成。第 $i$ 名选手在第一轮中获得 $A_i$ 分,在第二轮中获得 $B_i$ 分。
此外,两轮比赛分别关联了正整数权重 $X$ 和 $Y$。第 $i$ 名选手的最终得分 $S_i$ 由 $S_i = A_i \times X + B_i \times Y$ 给出。
作为主席,你被赋予了自由选择 $X$ 和 $Y$ 的值的权力。
唉,小老鼠 Squeaky 贿赂了你,让你进行舞弊。具体来说,他承诺如果你能选择某些 $X$ 和 $Y$,使得对于所有 $1 \le i < j \le N$ 都有 $S_i > S_j$,他将给你丰厚的报答。
但这真的可能做到吗?
输入格式
你的程序必须从标准输入中读取。
第一行包含一个整数 $N$,表示选手人数。
第二行包含 $N$ 个空格分隔的整数 $A_1, \dots, A_N$。
第三行包含 $N$ 个空格分隔的整数 $B_1, \dots, B_N$。
输出格式
你的程序必须输出到标准输出。
如果可以进行舞弊,输出 YES,否则输出 NO。
实现细节
由于子任务 1 和 4 的输入长度可能非常大,建议你使用带有快速输入例程的 C++ 来解决此问题。
附件中提供了包含快速输入/输出模板的 C++ 和 Java 源文件。强烈建议你使用这些模板。
如果你使用 Java 实现解决方案,请将文件命名为 Fraud.java,并将主函数放在 Fraud 类中。
子任务
每个测试点的最大执行时间为 1.0s,最大内存占用为 1GiB。对于所有测试用例,输入将满足以下范围:
- $2 \le N \le 3 \times 10^5$
- $0 \le A_i, B_i \le 10^6$
你的程序将在满足以下限制的输入实例上进行测试:
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 1 | 10 | $B_i = 0$ |
| 2 | 25 | $N = 2$ |
| 3 | 50 | $2 \le N \le 10^4$ |
| 4 | 15 | 无 |
样例
输入样例 1
2 1 2 2 1
输出样例 1
YES
说明 1
该样例仅对子任务 2、3 和 4 有效。
一个可能的解是 $X = 1$ 且 $Y = 2$。 这是因为 $S_1 = 1 \times 1 + 2 \times 2 = 5 > S_2 = 2 \times 1 + 1 \times 2 = 4$。
输入样例 2
3 2 4 3 4 2 3
输出样例 2
NO
说明 2
该样例仅对子任务 3 和 4 有效。
输入样例 3
2 5 1 0 0
输出样例 3
YES
说明 3
该样例对所有子任务有效。