CF1792B Stand-up Comedian

题目描述

Eve 是一名初学者单口喜剧演员。她的第一场演出总共吸引了两位观众:Alice 和 Bob。 Eve 准备了 $a_1 + a_2 + a_3 + a_4$ 个笑话,按类型分组如下: - 类型 1:Alice 和 Bob 都喜欢; - 类型 2:Alice 喜欢,但 Bob 不喜欢; - 类型 3:Bob 喜欢,但 Alice 不喜欢; - 类型 4:Alice 和 Bob 都不喜欢。 最初,两位观众的心情值均为 $0$。当观众听到自己喜欢的笑话时,心情值加 $1$;听到自己不喜欢的笑话时,心情值减 $1$。如果某位观众的心情值变为负数(严格小于 $0$),他/她就会离场。 一旦有人离场,Eve 会感到难过并结束演出。如果没有人离场且 Eve 讲完了所有笑话,演出也会结束。 因此,Eve 想要安排笑话的顺序,使得演出尽可能长。请你帮她计算,在至少有一位观众离场或笑话讲完之前,她最多能讲多少个笑话。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例数量。 每个测试用例一行,包含四个整数 $a_1, a_2, a_3, a_4$($0 \le a_1, a_2, a_3, a_4 \le 10^8$,且 $a_1 + a_2 + a_3 + a_4 \ge 1$),表示 Eve 准备的每种类型的笑话数量。

输出格式

对于每个测试用例,输出一个整数,表示在至少有一位观众离场或笑话讲完之前,Eve 最多能讲的笑话数量。

说明/提示

在第一个测试用例中,Eve 只有第一类笑话,因此没有顺序可选。她讲完所有笑话,Alice 和 Bob 都喜欢这些笑话,他们的心情值变为 $5$。Eve 讲完所有笑话后,演出结束。 在第二个测试用例中,Eve 只有第四类笑话,同样没有顺序可选。她讲一个笑话,Alice 和 Bob 都不喜欢,心情值各减 $1$,变为 $-1$。两人心情值为负,双双离场,演出结束。 在第三个测试用例中,Eve 首先讲两个第一类笑话,Alice 和 Bob 的心情值都变为 $2$。然后她可以讲 $2$ 个第三类笑话,Alice 的心情值变为 $0$,Bob 的心情值变为 $4$。接着讲 $4$ 个第二类笑话,Alice 的心情值变为 $4$,Bob 的心情值变为 $0$。再讲 $4$ 个第三类笑话,Alice 的心情值变为 $0$,Bob 的心情值变为 $4$。然后剩下一个第二类笑话,Alice 的心情值变为 $1$,Bob 的心情值变为 $3$。再讲一个第三类笑话和一个第四类笑话,例如。Alice 的心情值变为 $-1$,她离场,演出结束。 在第四个测试用例中,Eve 应该先讲两位观众都喜欢的笑话,然后讲他们都不喜欢的笑话。在观众离场前,最多能讲 $4$ 个第四类笑话。 由 ChatGPT 4.1 翻译