CF1371C A Cookie for You

题目描述

Anna 是一个非常勇敢的女孩,深受城市里每个人的喜爱,市民们也很喜欢她做的饼干。她计划举办一场有饼干的聚会。现在她为聚会准备了 $a$ 块香草饼干和 $b$ 块巧克力饼干。 她邀请了 $n$ 位第一类客人和 $m$ 位第二类客人参加聚会。这些客人会以某种顺序到达聚会。每位客人到达后,会选择一种类型的饼干(香草或巧克力)来吃。不同类型的客人在选择饼干时有如下区别: 假设此时还有 $v$ 块香草饼干和 $c$ 块巧克力饼干,当客人到来时: - 如果是第一类客人:如果 $v > c$,则选择香草饼干;否则选择巧克力饼干。 - 如果是第二类客人:如果 $v > c$,则选择巧克力饼干;否则选择香草饼干。 之后: - 如果所选类型的饼干还有至少一块,客人就吃掉一块。 - 否则(所选类型的饼干已经没有了),客人会生气并回家。 Anna 想知道是否存在一种客人到达的顺序,使得没有任何一位客人生气。你的任务是回答她的问题。

输入格式

输入包含多组测试数据。第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。接下来的 $t$ 行,每行描述一个测试用例。 每个测试用例包含四个整数 $a$、$b$、$n$、$m$($0 \le a, b, n, m \le 10^{18}$,且 $n + m \neq 0$)。

输出格式

对于每个测试用例,输出一行答案。如果存在至少一种有效的顺序,使得没有客人生气,输出 "Yes";否则输出 "No"。 你可以用任意大小写输出答案。

说明/提示

在第一个测试用例中,考虑客人类型顺序为 $\{1, 2, 2\}$。则: - 第一个客人吃了一块巧克力饼干。此时还剩 $2$ 块香草饼干和 $1$ 块巧克力饼干。 - 第二个客人吃了一块巧克力饼干。此时还剩 $2$ 块香草饼干和 $0$ 块巧克力饼干。 - 最后一个客人选择巧克力饼干,但巧克力饼干已经没有了,所以这位客人生气了。 因此,Anna 不能选择这种顺序。 再考虑客人类型顺序为 $\{2, 2, 1\}$。则: - 第一个客人吃了一块香草饼干。此时还剩 $1$ 块香草饼干和 $2$ 块巧克力饼干。 - 第二个客人吃了一块香草饼干。此时还剩 $0$ 块香草饼干和 $2$ 块巧克力饼干。 - 最后一个客人吃了一块巧克力饼干。此时还剩 $0$ 块香草饼干和 $1$ 块巧克力饼干。 因此,这个测试用例的答案是 "Yes"。 在第五个测试用例中,说明了饼干总数($a + b$)可以为零,但客人总数($n + m$)不能为零。 在第六个测试用例中,要注意 $32$ 位整数类型的溢出问题。 由 ChatGPT 4.1 翻译