提交时间:2023-03-05 11:06:52

运行 ID: 18814

#include <bits/stdc++.h> using namespace std; const int N=1e5+10; int a[N]; int bs1(int l,int r,int k){ while(l<r){ int mid=l+r>>1; if(a[mid]>=k)r=mid; else l=mid+1; } return l; } int bs2(int l,int r,int k){ while(l<r){ int mid=l+r+1>>1; if(a[mid]<=k)l=mid; else r=mid-1; } return l; } int main(){ int n,q,k; cin>>n>>q; for(int i=0;i<n;i++){ cin>>a[i]; } while(q--){ cin>>k; bool flag=false; for(int i=0;i<n;i++){ if(a[i]==k)flag=true; } if(flag){ cout<<bs1(0,n-1,k)<<' '<<bs2(0,n-1,k)<<"\n"; }else{ cout<<"-1"<<' '<<"-1"<<'\n'; } } return 0; }