直接模拟
#include<iostream>
#include<vector>
using namespace std;
int main(){
int n,x;
cin>>n;
vector<int> vec;
for(int i = 0;i < n;i++){
cin>>x;
vec.push_back(x);
}
vector<int> res;
for(int i = 0;i < n;i++){
if(i == 0){
if(vec[i] > vec[i + 1] || vec[i] < vec[i + 1]) res.push_back(i);
}else if(i == (n - 1)){
if(vec[i] > vec[i - 1] || vec[i] < vec[i - 1]) res.push_back(i);
}else{
if((vec[i] > vec[i - 1] && vec[i] > vec[i + 1]) || (vec[i] < vec[i - 1] && vec[i] < vec[i + 1])){
res.push_back(i);
}
}
}
for(int i = 0;i < res.size();i++){
if(i == 0) cout<<res[i];
else cout<<" "<<res[i];
}
cout<<endl;
return 0;
}