题目描述
blablabla
样例
#include "bits/stdc++.h"
using namespace std;
const int N=100010;
int q[N];
int SL(int l,int r,int x){
while (l<r){
int mid=(l+r)/2;
if (q[mid]>=x){
r=mid;
} else{
l=mid+1;
}
}
return l;
}
int SR(int l,int r,int x){
while (l<r){
int mid=(l+r+1)/2;
if (q[mid]<=x){
l=mid;
}else{
r=mid-1;
}
}
return r;
}
int main(){
int n,m;
scanf("%d%d",&n,&m);
for (int i = 0; i < n; ++i) {
scanf("%d",&q[i]);
}
while (m--){
int x;
scanf("%d",&x);
int l=SL(0,n-1,x);//找左边界
if (q[l]!=x){
printf("-1 -1\n");
} else{
printf("%d ",l);
int r=SR(0,n-1,x);
printf("%d\n",r);
}
}
return 0;
}
算法1
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
C++ 代码
blablabla