/ Vijos / 题库 /

菜品访谈

菜品访谈

时间限制:1秒  内存限制:256M


【问题描述】

  学校伙食办有一项重要的任务,那就是弄清楚要为学生们定制可口的饭菜。

  YS校共有 \(N(2≤N≤10^5)\) 名学生,他们编号为 \(1\) 到 \(N\),每名学生喜欢恰好一种类型的菜品 \(a_i(1≤a_i≤N)\)。为把复杂问题简单化,山是半希望之定制一种菜品。

  为实现这一目标,膳食办可进行若凡此访谈。一次访谈为让编号从 \(i\) 到 \(j\) 的连续范围内的所有学生聚集成一组进行访谈。如果有一种菜品是该小组中超过一半的学生喜欢的,则此次小组访谈结束后,所有学生最终都会喜欢这种菜品。如果不存在这种类型的菜品,那么学生们不会改变她们喜欢的菜品类型。例如,在由 16 名学生组成的小组访谈中,需要有其中 9 个或更多的学生具有相同的菜品喜好,才能使其余学生改变其喜好以与之一致。

  膳食办想知道哪些类型的菜品有可能变为所有学生都喜爱的。一次只能主持一个小组访谈,但为了使所有学生都喜欢同一类型的菜品,他可以根据需要任意多次地小组访谈。

【输入格式】

  输入的第一行包含一个整数 \(T(1≤T≤10)\),表示有T组数据。
  每一个组数据的第一行包含 \(N\)。第二行包含 \(N\) 个整数,为学生们喜爱的菜品类型 \(h_i\) 。
  输入保证所有组数据的 \(N\) 之和不超过 \(2⋅10^5\) 。

【输出格式】

  输出 \(T\) 行,对于每个组数据输出一行。如果可能使所有学生同时喜欢同一种菜品,则以升序输出所有可能的此类菜品的类型,否则输出 −1。在同一行内输出一列整数时,相邻的数用空格分隔,并确保行末没有多余空格。

【输入输出样例】

 Input

5
5
1 2 2 2 3
6
1 2 3 1 2 3
6
1 1 1 2 2 2
3
3 2 3
2
2 1

 Output

2
-1
1 2
3
-1

【样例解释】

  在输入样例中,有5个组数据。
  在第一个组数据中,仅可能使所有学生喜欢种类2。膳食办可以通过主持一次所有学生的小组访谈达到这一目的。
  在第二个组数据中,可以证明没有学生会改变她们喜爱的菜品种类。
  在第三个组数据中,有可能使所有学生喜欢种类 1,可以通过主持三次小组访谈达到这一目的——首先使学生 1 到 4 进行一次小组访谈,随后使学生 1 到 5 进行一次小组访谈,随后使学生1 到 6 进行一次小组访谈。以类似的逻辑,依次操作学生3 到 6,随后是学生 2 到 6,随后是学生 1 到 6,我们可以使所有学生喜欢种类 2。
  在第四个组数据中,有可能使所有学生喜欢种类3,可以通过主持一次所有学生的小组访谈达到这一目的。
  在第五个组数据中,可以证明没有学生会改变她们喜爱的菜品种类。

【测试点性质】

  测试点 \(2\):\(N=2\)。
  测试点 \(3−4\):\(N≤50\)。
  测试点 \(5−6\):对于所有的 \(1≤i≤N−1\),有 \(h_i≤h_{i+1}\)。
  测试点 \(7−15\):没有额外限制。

【来源】

  Mr.he

信息

ID
2920
难度
9
分类
(无)
标签
递交数
1
已通过
1
通过率
100%
被复制
1
上传者