我偏不
heyucheng
2023-06-24 10:32:36
2023-10-14 10:50:26
30
返回题目
#include<bits/stdc++.h>
#define int long long
using namespace std;
const long long maxn=1e5+10;
int a[maxn];
int n,Q;
int x;
int l,r;
void get(){
l=1;r=n;
while(l + 1 < r){
int mid = (l+r)/2;
if(a[mid] < x){
l = mid;
}
else r = mid;
}
}
void get2(){
l=1;r=n;
while(l + 1 < r){
int mid = (l+r)/2;
if(a[mid] <= x){
l = mid;
}
else r = mid;
}
}
signed main()
{
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
cin>>Q;
while(Q--){
cin>>x;
get();
if(a[l] == x) cout<<l<<" ";
else if(a[r] == x) cout<<r<<" ";
else cout<<-1<<" ";
get2();
if(a[r] == x){
cout<<r<<" ";
if(r+1<=n) cout<<r+1<<endl;
else cout<<-1<<endl;
}
else if(a[l] == x) cout<<l<<" "<<r<<endl;
else{
cout<<-1<<" ";
if(a[l] > x) cout<<l<<endl;
else if(a[r] > x)cout<<r<<endl;
else cout<<-1<<endl;
}
}
return 0;
}
{{ vote && vote.total.up }}
共 1 条回复
不想更丰富地展现?不使用Markdown