就是模拟题,题目意思一开始没怎么看明白,就是数学中的极值定义
#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;
}