AT_abc375_e [ABC375E] 3 Team Division
题目描述
有 $N$ 个人,被分成了 $3$ 个队伍。
每个人有 $1, 2, \ldots, N$ 的编号,每个队伍有 $1, 2, 3$ 的编号,现在第 $i$ 个人属于队伍 $A_i$。
每个人有一个**强度**值,第 $i$ 个人的强度为 $B_i$。队伍的**强度**定义为该队伍中所有成员的强度之和。
你可以让 $0$ 个或更多的人更换所属队伍。请判断是否可以通过更换队伍,使得所有队伍的强度都相等。如果可以,请求出需要更换队伍的人数的最小值。
注意,除了队伍 $1, 2, 3$ 之外,不能新建队伍。
输入格式
输入以如下格式从标准输入给出。
> $N$
> $A_1$ $B_1$
> $A_2$ $B_2$
> $\vdots$
> $A_N$ $B_N$
输出格式
如果可以通过更换队伍使所有队伍的强度相等,输出所需更换队伍人数的最小值。否则输出 $-1$。
说明/提示
### 限制条件
- $3 \leq N \leq 100$
- $A_i \in \lbrace 1, 2, 3 \rbrace$
- 对于每个 $x \in \lbrace 1, 2, 3 \rbrace$,存在某个 $i$ 使得 $A_i = x$
- $1 \leq B_i$
- $\displaystyle\sum_{i=1}^{N} B_i \leq 1500$
- 输入的所有值均为整数
### 样例解释 1
将第 $1$ 个人调到队伍 $3$,第 $4$ 个人调到队伍 $2$,可以使所有队伍的强度都变为 $8$。
由 ChatGPT 4.1 翻译