奇怪的算法
时间复杂度 $O(n)$
#include<bits/stdc++.h>
using namespace std;
map<int,int> b,e;
int a[100010];
int main(){
int n,q,x;
cin>>n>>q;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++){
if(a[i]!=a[i-1])
b[a[i]]=i;
if(a[i]!=a[i+1])
e[a[i]]=i;
}
for(int i=1;i<=q;i++){
cin>>x;
if(!b[x])
cout<<"-1 -1";
else
cout<<b[x]-1<<' '<<e[x]-1;
cout<<"\n";
}
return 0;
}