[R6C]分班
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
时空限制
2S/512M
题目描述
有 个学生,编号 ,其中 号学生的团结度为 。现在将这 名学生分到1、2两班,每个班的总团结度为当前分到这个班的学生的团结度之和。
但是学生之间存在 条矛盾关系,第 条矛盾关系说明 号学生和 号学生之间相互有矛盾。
将 个学生按编号从小到大顺序分,轮到某一学生时:
- 如果两个班都已经分到与他有矛盾的学生,那么他会退出本次分班;
- 如果其中一个班已经分到与他有矛盾的学生,那么他会被分到另一个班;
- 如果两个班都还没分到与他有矛盾的学生,他会被分到总团结度更低的那个班,如果两个班当前总团结度一样则分到1班。
格式
输入格式
第一行包含一个整数 ,表示学生数量。
第二行包含 个整数 ,分别表示每个学生的团结度。
第三行包含一个整数 ,表示矛盾关系的数量。
接下来 行每行包含两个整数 和 ,表示 号学生和 号学生之间相互有矛盾。
输出格式
输出 行每行一个整数,第 行的整数表示 号学生的分班结果。如果 号学生退出本次分班输出 ,否则输出 或 表示他被分到哪个班。
样例
样例输入 #1
5
5 4 3 2 1
3
2 3
3 1
1 5
样例输出 #1
1
2
-1
2
2
数据规模
对于 的数据,。
对于 的数据,,,$0\leq m\leq \min(\frac{n\times (n-1)}{2},2\times 10^6)$,。数据保证 。
代码源挑战赛 Round 6
- Status
- Done
- Rule
- DMY
- Problem
- 6
- Start at
- 2025-4-4 20:00
- End at
- 2025-4-4 21:30
- Duration
- 1.5 hour(s)
- Host
- Partic.
- 564