#4156. C. Hard Problem 难题 CodeForces 800

C. Hard Problem 难题 CodeForces 800

🐒 猴子入座

📖 题目描述

Ball 是折纸大学的一名老师。他的教室有 22 行座位,每行有 mm 个座位。

Ball 一共在教 a+b+ca + b + c 只猴子,他希望能够让尽可能多的猴子坐在座位上。他了解到:

  • aa 只猴子 只想坐在第 1 行 ;
  • bb 只猴子 只想坐在第 2 行 ;
  • cc 只猴子 对座位没有偏好 。

每个座位只能坐一只猴子,且坐下的猴子必须满足其偏好。

请你计算:Ball 最多可以让多少只猴子坐下?


📥 输入格式

第一行包含一个正整数 tt1t1041 \leq t \leq 10 ^ 4),表示测试数据组数。

接下来 tt 行,每行包含 44 个整数 mabcm a b c1m,a,b,c1081 \leq m, a, b, c \leq 10 ^ 8):

  • mm 表示每行的座位数;
  • aa 表示只愿意坐在第 1 行的猴子数;
  • bb 表示只愿意坐在第 2 行的猴子数;
  • cc 表示无座位偏好的猴子数。

📤 输出格式

对于每组测试数据,输出一行一个整数,表示最多可以让多少只猴子就坐。


🧪 样例输入

5
10 5 5 10
3 6 1 1
15 14 12 4
1 1 1 1
420 6 9 69

✅ 样例输出

20
5
30
2
84

🔍 样例说明

  • 第 2 组测试数据中,有 6 只猴子想坐在第 1 行,但只有 3 个座位,因此最多只能安排 3 只; 另外可以安排 1 只偏好第 2 行的猴子和 1 只无偏好的猴子坐在第 2 行。 总共最多安排 3+2=53 + 2 = 5 只猴子。