CF1250L Divide The Students
题目描述
一群学生最近被伯兰国立大学计算机科学系录取。现在,编程老师想把他们分成三个小组进行实践课程。
老师知道,许多程序员经常争论哪种编程语言最好。老师不想在小组内听到任何争论,因此她希望将学生分成三个小组,使得同一小组内的任何两名学生都不会发生争论。
为此,老师询问了每位学生喜欢哪种编程语言。有 $a$ 名学生回答喜欢 Assembler,有 $b$ 名学生表示最喜欢 Basic,剩下的 $c$ 名学生认为 C++ 是最好的编程语言——而且 Assembler 粉丝和 C++ 粉丝之间经常发生激烈争论。
现在,老师知道 Assembler 程序员和 C++ 程序员每分钟都可能开始争吵,她希望将学生分成三个小组,使得每个学生恰好属于一个小组,并且没有任何一个小组同时包含至少一名 Assembler 粉丝和至少一名 C++ 粉丝。由于带很多学生上课很困难,老师希望最大的小组人数尽可能少。
请你帮助老师计算,在满足上述条件的情况下,最大的小组人数的最小可能值是多少。
输入格式
第一行包含一个整数 $t$($1 \le t \le 5$),表示测试用例的数量。接下来是 $t$ 组测试数据。
每组测试数据包含一行,包含三个整数 $a$、$b$ 和 $c$($1 \le a, b, c \le 1000$),分别表示 Assembler 粉丝、Basic 粉丝和 C++ 粉丝的人数。
输出格式
对于每组测试数据,输出一个整数,表示在满足条件的情况下,最大的小组人数的最小可能值。
说明/提示
示例 $1$ 的答案解释:
1. 第一个小组包含 $3$ 名 Assembler 粉丝和 $2$ 名 Basic 粉丝,第二个小组包含 $5$ 名 C++ 粉丝,第三个小组包含 $2$ 名 C++ 粉丝和 $3$ 名 Basic 粉丝。
2. 第一个小组包含 $4$ 名 Assembler 粉丝,第二个小组包含 $6$ 名 Basic 粉丝,第三个小组包含 $2$ 名 Basic 粉丝和 $4$ 名 C++ 粉丝。
3. 第一个小组包含所有 Assembler 粉丝,第二个小组包含所有 Basic 粉丝,第三个小组包含所有 C++ 粉丝。
4. 第一个小组包含所有 Assembler 粉丝,第二个小组包含所有 Basic 粉丝,第三个小组包含所有 C++ 粉丝。
5. 第一个小组包含 $12$ 名 Assembler 粉丝和 $2$ 名 Basic 粉丝,第二个小组包含 $1$ 名 Assembler 粉丝和 $13$ 名 Basic 粉丝,第三个小组包含 $7$ 名 Basic 粉丝和 $7$ 名 C++ 粉丝。
由 ChatGPT 4.1 翻译