#184. [ABC375E] 3 Team Division

[ABC375E] 3 Team Division

题目描述

NN 个人,他们被分成了 33 个团队。

每个人都有一个编号 1, 2, , N1,\ 2,\ \dots,\ N,每个团队也有一个编号 1, 2, 31,\ 2,\ 3。当前,第 ii 个人所属的团队是 AiA_i

每个人都有一个强度值,第 ii 个人的强度值为 BiB_i。此外,团队的强度被定义为该团队内所有成员的强度值之和。

现在,你可以选择将 00 人或以上的人调整到不同的团队。你的任务是判断是否可以使所有团队的强度相等。如果可以,请计算最少需要调整的人数;如果不可能,则输出 1-1

请注意,不能创建新的团队,团队编号仍然只有 1, 2, 31,\ 2,\ 3

输入格式

第一行输入 N N

接下来 NN 行,每行输入两个整数 Ai A_i Bi B_i

输出格式

如果可以使所有团队的强度相等,输出最小需要调整的人数;否则输出 1-1

6
1 2
2 5
1 5
3 3
1 3
3 6
2
4
1 1
1 2
2 3
3 4
-1
3
1 1
2 1
3 1
0
12
2 5
1 4
3 3
2 3
3 9
1 2
2 2
3 9
2 6
1 9
1 1
3 1
3

提示

约束条件

  • 3N1003 \leq N \leq 100
  • Ai{1,2,3}A_i \in \{1, 2, 3\}
  • 对于每个 x{1,2,3}x \in \{1, 2, 3\},至少存在一个 ii 使得 Ai=xA_i = x
  • 1Bi1 \leq B_i
  • i=1NBi1500\displaystyle\sum_{i=1}^{N} B_i \leq 1500
  • 所有输入均为整数

样例 1 解释

可以让第 11 个人加入团队 33,让第 44 个人加入团队 22,使得所有团队的强度变为 88