#P15559. [egoi2025]礼品盒
[egoi2025]礼品盒
题目描述
今年的 EGOI 在波恩举办。组织者希望为比赛中的每个团队分发最多一个礼品盒,每个团队由编号 到 表示。参赛者站在一排,但他们混杂在一起,同一团队的人可能并不站在一起。请注意,队列中至少有一个团队有超过一个人。队列中共有 个人。第 个人属于团队 。问题在于:每个团队最多只能收到一个礼品盒。为了确保分发过程顺利进行——并愿意因此让一些团队没有礼品——组织者希望在分发礼品时只暂停一次,跳过一些参赛者后再继续分发礼品盒。换句话说,他们将跳过一段连续的参赛者区间 。
并非每个团队都需要收到礼品。尽管如此,组织者希望在确保没有团队收到两个或更多礼品的前提下,最大化收到礼品的团队数量,这等同于在此条件下最小化被跳过的参赛者数量。请帮助组织者决定何时暂停以及何时继续分发礼品,使得被跳过的参赛者尽可能少。
输入格式
第一行输入包含两个整数 和 ,分别表示团队数量和队列中的参赛者数量。
第二行包含 个整数 ,其中第 个整数表示队列中位置 的人所属的团队。保证每个从 到 的整数至少出现一次。
输出格式
输出两个整数 和 ,其中 是被跳过的第一个人的编号, 是被跳过的最后一个人的编号。注意, 和 的编号范围是从 到 。如果有多个解,输出任意一个即可。
4 5
1 3 0 2 3
1 1
3 6
1 0 2 2 1 0
0 2
4 8
0 2 0 1 2 1 3 3
2 6
3 6
1 1 2 0 1 0
0 3
4 6
0 1 2 0 3 2
2 3
5 13
3 3 3 1 2 0 3 3 2 1 4 1 0
1 9
数据范围与提示
对于所有输入数据,满足:
- 。
- 。
详细子任务附加限制及分值如下表所示。
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| ,即只有一个团队出现两次 | ||
| ,且每个团队在前半部分和后半部分各出现一次 | ||
| ,且每个团队出现两次 | ||
| 无附加限制 |