题目描述
blablabla
样例
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e5 + 10;
int n,q;
int l,r;
int a[N],b[N];
int main(){
cin >> n >> q;
for(int i =0;i<n;i++){
cin >> a[i];
}
while(q--){
int num;
cin >> num;
//判断某个数是否出现在数组中,出现了则返回true,没有返回false
if(binary_search(a,a+n,num)){
//数组必须得是升序排列,这么去找位置才能得到正确答案
cout << lower_bound(a,a+n,num)-a << " " << upper_bound(a,a+n,num)-a-1; //减1是因为upper_bound找的是大于num的数,因为数组是升序排列的,即num的下一个位置
}
else{
cout << "-1" << " " << "-1";
}
cout << endl;
}
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla