二分0分求助谢谢!
查看原帖
二分0分求助谢谢!
1006617
shengsimiao楼主2024/3/22 20:45
#include<bits/stdc++.h>
using namespace std;
const int N=100005;
int arr[N];
int xz(int l,int r,int k){
	int ans=0;
	while(l<=r){
		int mid=(l+r)/2;
		if(arr[mid]<=k){
			l=mid+1;
			ans=mid;
		}else{
			r=mid-1;
			
		}
	}
	return ans;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>arr[i];
	}
	sort(arr+1,arr+n+1);
	int q;
	cin>> q;
	int k;
	for(int i=1;i<=q;i++){
		cin>>k;
		if(arr[xz(1,n,k)]==k){
			cout<<xz(1,n,k)<<endl;	
		}else{
			cout<<0<<endl;
		}
		
	}
	return 0;
} 

感谢!

2024/3/22 20:45
加载中...