蒜头君手上有个长度为 nn 的数组 AA。由于数组实在太大了,所以蒜头君也不知道数组里面有什么数字,所以蒜头君会经常询问整数 xx 是否在数组 AA 中。
输入格式第一行输入两个整数 nn 和 mm,分别表示数组的长度和查询的次数。
接下来一行有 nn 个整数 a_iai。
接下来 mm 行,每行有 11 个整数 xx,表示蒜头君询问的整数。
输出格式对于每次查询,如果可以找到,输出"YES",否则输出"NO"。
数据范围1 le n, m le 10^5, 0 le x le 10^61≤n,m≤105,0≤x≤106。
Sample Input
10 5 1 1 1 2 3 5 5 7 8 9 0 1 4 9 10Sample Output
NO YES NO YES NO思路:
运用两次数组将寻找的数组和待寻找的数组记录下来,先将输入的数组用函数排序之后再将排序后的数组用二分法一一比对,注意要先将所有的待寻找的数据用数组记录下来再将数组中的数一次进入二分法运用寻找是否存在之后输出判断
#includevoid quicksort (int left,int right,int arr[]) { int i,j,t,temp; if (left>right) return; temp=arr[left];//temp中存的就是基准数 i=left; j=right; while (i!=j) { //注意顺序,一定要先右后左 while (arr[j]>=temp&&i right) { printf("NOn"); } } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)