#C1019. 抽象守恒
抽象守恒
抽象守恒
题目描述
某校 OI 机房最近进入了一个十分危险的状态,抽象的太不平衡了。
机房里共有 名同学,第 名同学拥有一个抽象指数 。小老师认为,机房的抽象程度必须保持相对稳定:给定一个常数 ,如果机房中没有任何一名同学的抽象指数超过机房平均抽象指数的 倍,那么这个机房就处于稳定抽象态。
然而,现在整个机房不一定稳定。为了恢复机房秩序,小老师决定驱逐一部分同学,使留下来的同学组成的集合处于稳定抽象态。
显然,仁慈的小老师希望被驱逐的同学尽可能少,也就是希望留下的同学人数尽可能多。
不过,如果有多种留下人数最多的方案,小老师还没有决定最终采用哪一种。你想知道,哪些同学无论如何都不可能在任何一种最优方案中留在机房。
输入格式
第一行包含一个正整数 ,表示测试数据组数。
接下来依次描述 组测试数据。
每组测试数据的第一行包含一个正整数 ,表示机房中的同学人数。同学编号为 。
第二行包含 个整数 ,其中 表示第 名同学的抽象指数。
第三行包含两个整数 ,定义常数:
输出格式
对于每组测试数据,输出两行。
第一行输出一个整数 ,表示无论如何都不可能留下的同学人数。
第二行输出 个整数,表示这些同学的编号,按升序排列。
若 ,第二行输出空行。
样例 1 输入
3
4
1 2 3 4
3 2
5
1 15 2 5 1
2 1
5
1 2 3 1000 10000
4 3
样例 1 输出
0
1
2
2
4 5
样例 1 解释
第一组测试数据中,虽然所有同学一起留下并不处于稳定抽象态,但可以做到留下 名同学,并且每名同学都出现在某个留下 人的可行方案中。因此没有同学是绝对不可能留下的。
第二组测试数据中,最多只能留下 名同学。可以证明,编号为 的同学无法出现在任何一种最优留下方案中,而其他同学都有机会留下。
第三组测试数据中,编号为 的同学抽象指数过高,在任何最优方案中都不可能留下。
样例 2
见选手目录下的 abstract/abstract2.in 与 abstract/abstract2.ans。
该样例满足测试点 的约束条件。
样例 3
见选手目录下的 abstract/abstract3.in 与 abstract/abstract3.ans。
该样例满足测试点 的约束条件。
样例 4
见选手目录下的 abstract/abstract4.in 与 abstract/abstract4.ans。
该样例满足测试点 的约束条件。
样例 5
见选手目录下的 abstract/abstract5.in 与 abstract/abstract5.ans。
该样例满足测试点 的约束条件。
样例 6
见选手目录下的 abstract/abstract6.in 与 abstract/abstract6.ans。
该样例满足测试点 的约束条件。
样例 7
见选手目录下的 abstract/abstract7.in 与 abstract/abstract7.ans。
该样例满足测试点 的约束条件。
样例 8
见选手目录下的 abstract/abstract8.in 与 abstract/abstract8.ans。
该样例满足测试点 的约束条件。
数据范围
对于所有测试数据,均满足:
- ;
- ;
- ;
- ;
- 所有测试数据中 的总和不超过 。
本题共 个测试点,每个测试点 分。
| 测试点编号 | 分值 | 约束条件 |
|---|---|---|
| 所有同学抽象指数均相同 | ||
| 无额外限制 |
Related
In following contests: