就是模拟题,题目意思一开始没怎么看明白,就是数学中的极值定义

#include <iostream>
#include <math.h>
#include <algorithm>

using namespace std;

const int N = 1e5 + 10;
int s[N];

int main(){
	int n;
	while(cin >> n){
		for(int i = 0;i < n;i ++)cin >> s[i];
		if(s[0] != s[1])cout << "0 ";
		for(int i = 1;i < n - 1;i ++){
			if(s[i] > s[i - 1] && s[i] > s[i + 1])
			cout << i << ' ';
			if(s[i] < s[i - 1] && s[i] < s[i + 1])
			cout << i << ' ';
		}
		if(s[n - 1] != s[n - 2])cout << n - 1;
		cout << endl;
	}
	return 0;
}