• Source
    1. #include <iostream>
    2. #include <vector>
    3. #include <algorithm>
    4. using namespace std;
    5.  
    6. int main() {
    7. ios_base::sync_with_stdio(false);
    8. cin.tie(NULL);
    9. cout.tie(NULL);
    10.  
    11. int input_A, input_each_case, suc;
    12. int input_B;
    13.  
    14. vector<int> input_case_A;
    15. vector<int> input_case_B;
    16.  
    17. cin >> input_A;
    18.  
    19. for (int i = 0; i < input_A; i++) {
    20. cin >> input_each_case;
    21. input_case_A.push_back(input_each_case);
    22. }
    23. sort(input_case_A.begin(), input_case_A.end());
    24.  
    25. cin >> input_B;
    26.  
    27. for (int i = 0; i < input_B; i++) {
    28. cin >> input_each_case;
    29. input_case_B.push_back(input_each_case);
    30. }
    31. for (int i = 0; i < input_B; i++) {
    32. suc = 0;
    33. int start = 0;
    34. int end = input_case_A.size() - 1;
    35. int mid;
    36. int key = input_case_B[i];
    37. while (end - start >= 0) {
    38. mid = (start + end) / 2; //중앙 값
    39.  
    40. if (input_case_A[mid] == key) { //key값을 찾았을때
    41. suc = 1;
    42. break;
    43. }
    44. else if (input_case_A[mid] > key) { //key값이 mid의 값보다 작을때 (왼쪽으로)
    45. end = mid - 1;
    46. }
    47. else { //key값이 mid의 값보다 클때 (오른쪽으로)
    48. start = mid + 1;
    49. }
    50. }
    51. if (suc == 1) {
    52. suc = 0;
    53. cout << "1\n";
    54. }
    55. else
    56. cout << "0\n";
    57. }
    58. }