3802: 【分治】【二分查找】书店

题目描述

小来现在正在经营一家书馆, 而且这里有各种各样的书, 他现在把这些书分成了N个难度, 每本的书有一个对应的难度Q。每一个来买书的客人都只买适合自己难度的书(必须要对应的难度), 你需要迅速的回答他是否有。

输入

第一行两个数N,M。(N<100000)

下面一行N个整数, 分别表示每本书的难度Q(1<=Q<=2100000000)。

下面一行M个整数, 分别表示询问的难度。

提示:0

输出

输出一行M个字符, 表示回答是否。 Y表示有, N表示没有。

样例输入

5 4
1 3 4 6 8
1 2 3 4

样例输出

YNYY

C++:

#include
using namespace std;
char bs(int data[],int low,int high,int t){
	while(low<=high){
		int mid=(low+high)/2;
		if(data[mid]==t){
			return 'Y';
		}
		if(data[mid]t){
			high=mid-1;
		}
	}
	return 'N';
}
int main(){
	int a,b,c[100005],d[100005];
	cin>>a>>b;
	bool asd=false;
	for(int i=1;i<=a;i++){
		cin>>c[i];
	}
	for(int i=1;i<=b;i++){
		cin>>d[i];
		cout<

 

你可能感兴趣的:(C++,C3,排序,c++,算法,开发语言)