二分 求助
查看原帖
二分 求助
288506
OutsideR_楼主2020/12/2 16:32

本地可以 洛谷不行...

#include <iostream>
using namespace std;
int ts(int nums[],int t,int l){
	int left = 0,right=l-1,mid;
	bool is=false;
	while(left<=right){
		mid=(right+left)/2;
		if(nums[mid]>=t){right=mid-1;}
		else if(nums[mid]<t){left=mid+1;}
	}
	return left+1;
}
int n,m;
int main(){
	cin>>n>>m;
	int num[n+1],ans[m+1];
	for(int i = 0;i<n;i++)cin>>num[i];
	for(int i = 0;i<m;i++)cin>>ans[i];
	for(int i =0;i<m;i++)cout<<ts(num,ans[i],m)<<' ';
	return 0; 
}
2020/12/2 16:32
加载中...