https://www.acmicpc.net/problem/10815

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

 

 

 

#include "bits/stdc++.h"
using namespace std;
// 숫자 카드
int main() {
    int n, m, arr[10000], finding[10000];
    cin >> n;
    for (int i=0; i<n; i++) {
        cin >> arr[i];
    }
    sort(arr, arr + n);
    cin >> m;
    for (int i=0; i<m; i++) {
        cin >> finding[i];
    }
    for (int i=0; i<m; i++) {
        int l = 0, r = n-1;
        bool found = false;
        while (l <= r) {
            int a = (l + r)/2;
            if (finding[i] == arr[a]) {
                printf("1 ");
                found = true;
                break;
            }
            if (finding[i] > arr[a]) {
                l = a+1;
            }
            if (finding[i] < arr[a]) {
                r = a-1;
            }
        }
        if (!found) printf("0 ");
    }
}

'정보올림피아드-KOI > BOJ' 카테고리의 다른 글

백준 - 부분수열의 합  (0) 2022.03.19
백준 - 로또  (0) 2022.03.19
백준 1,2,3 더하기 (브루트 포스)  (0) 2022.03.18
백준 숨바꼭질 4 (역추적)  (0) 2022.03.14
백준 일곱 난쟁이  (0) 2022.03.14

+ Recent posts