1721: 爬山

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:13 解决:77

题目描述

小m又喜欢上爬山啦~

有一天小m去爬山,到山脚的时候他观察到原来山一般都是有山峰的???他的朋友给了他一组数据,让他跟他朋友说一下山峰的位置都在哪。

小m欣然接受了他朋友的请求并把任务交给你啦???

所以你的任务是,在依次给出的所有海拔值中,回答山峰的坐标是多少(坐标从1开始)

我们定义山峰的要求是:如果一个非边界坐标的海拔值比左右两边挨着的海拔值都高,那么这个地方为山峰。非边界坐标指的是左端点和右端点坐标。

输入

第一行一个T,代表有T组测试样例 1 <= T <= 100

每组测试样例包含一个整数n,代表给出n个海拔值。(n <= 1e5)

接下来n个整数hi,两个整数之间用空格隔开。 (0 <= hi <=1e9)

输出

输出一行包含m个整数ai,m代表山峰的数量,ai为山峰的坐标。请按照从小到大的顺序输出各个下标

如果没有一个山峰的话请在那一行输出0。

样例输入 复制

3
5
1 3 2 7 8
10
3 2 3 4 5 6 7 8 9 10
7
1 2 1 5 3 7 4

样例输出 复制

2
0
2 4 6

提示

第一个测试样例3 > 1并且3 > 2,所以3是山峰海拔,下标为2,没有其他的山峰了,所以输出2。

第二个测试样例没有山峰,所以输出0。

第三个测试样例2为山峰,下标为2,5为山峰,下标为4,7为山峰,下标为6,所以输出2 4 6。

来源/分类