【求助-P2249】全部RE!!!
查看原帖
【求助-P2249】全部RE!!!
567610
RDFZchenyy楼主2021/11/15 18:44
#include<bits/stdc++.h>
using namespace std;

int binarySearch(int a[],int ask,int upper){
	int section_up=upper-1,section_down=0;
	int mid=floor((section_up+section_down)/2);
	while(true){
		mid=floor((section_up+section_down)/2);
		//printf("ask:%d  mid:%d  section_up:%d  section_down:%d\n",ask,mid,section_up,section_down);
		if(a[mid]==ask){
			return mid;
		}
		if(a[mid]>ask){
			section_up=mid-1;
		}
		if(a[mid]<ask){
			section_down=mid+1;			
		}
		if(section_up<section_down){
			return -1;
		}
	}
}

int main(){
	int n,m;
	cin>>n>>m;
	int num[n];
	for(int i=0;i<n;i++){
		cin>>num[i];
	} 
	int ask,place;
	for(int i=0;i<m;i++){
		cin>>ask;
		place=binarySearch(num,ask,n);
		if(place==-1){
			cout<<"-1 ";
		}else{
			while(num[place]==ask){
				place--;
			}
			place+=2;
			cout<<place<<" ";
		}
	}
	
	return 0;
} 

求大佬帮忙

2021/11/15 18:44
加载中...