[백준] 이분탐색 2776

seunghyun·2023년 9월 15일
0

Test

목록 보기
17/19

2776 암기왕

문제 링크

#include<bits/stdc++.h>
using namespace std;
int t,n,m,temp;

int check(int temp, vector<int> &v){
	int l = 0, r = v.size() - 1;
    int mid;
    while(l <= r){
    	mid = (l + r) / 2;
        if (v[mid] > temp) 
        	r = mid - 1;
        else if (v[mid] == temp) 
        	return 1;
        else l = mid + 1;
    }
    return 0;
}

int main(){
	scanf("%d", &t);
    while(t--){
    	vector<int> v; // 벡터가 초기화되는 효과
        scanf("%d", &n);
        for(int i = 0; i < n; i++){
            scanf("%d", &temp);
            v.push_bak(temp);
        }
        sort(v.begin(), v.end());
        scanf("%d", &m);
        for(int i = 0; i < m; i++){
        	scanf("%d", &temp);
            cout << check(temp, v) << "\n";
        }
    }
    return 0;
}

0개의 댓글