注册 登录
编程论坛 C语言论坛

数组元素比较复杂问题

t17 发布于 2023-09-16 09:31, 502 次点击
Description
刘老师在一次课外活动中组织ACM队的同学玩老鹰抓小鸡的游戏。按照游戏的规则,母鸡身后的小鸡应该按照身高从矮到高的顺序排序。但是因为队员们每个人都想当“爸爸”,所以他们每个人都想让自己的位置尽可能的靠后。一通乱站队之后,面对高低不齐的队伍,刘老师十分的头疼,请你帮帮他找出队伍中有几个人所站的位置是“绝对正确位置”的。“绝对正确位置”的定义为,某人A左边的人都比他矮,且他的右边的人都比他高。

Input
第一行一个数字T,代表有T组数据

每组数据有两行输入

第一行有一个数字n(0<=n<=10^5),代表队伍里有几个人

第二行行有n个不同的正数,ni代表第i个人的身高

Output
对于每组数据

第一行输出在“绝对正确位置”上的人数

第二行按从低到高的顺序输出“绝对正确位置”上的人的身高

若人数为0,则第二行为空行

末尾不得有有多余的空格或回车


Samples
input
1
5
1 3 2 4 5
output
3
1 4 5
1 回复
#2
rjsp2023-09-16 11:10
从左到右依次遍历(记录最大值),符合条件(比左边最大值还大)的记下位置
从右到左依次遍历(记录最小值),符合条件(比右边最小值还小)的记下位置
都被记下位置者就是符合所有条件的

但是题目说“某人A左边的人都比他矮,且他的右边的人都比他高”
也就是如果有两个人身高一样,那么永远排不出正确的位置。
1