https://www.acmicpc.net/problem/10815
#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 |