반응형
-문제
-코드
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int n, m;
scanf("%d", &n);
vector<int> a(n);
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
scanf("%d", &m);
vector<int> b(m);
for (int i = 0; i < m; i++)
{
scanf("%d", &b[i]);
}
sort(a.begin(), a.end());
int k, lt, rt, mid;
vector<int> res(m);
for (int i = 0; i < m; i++)
{
k = b[i];
lt = 0;
rt = n - 1;
while (lt<=rt)
{
mid = (lt + rt) / 2;
if (a[mid] == k)
{
res[i] = 1;
break;
}
else if (a[mid] > k) rt = mid - 1;
else lt = mid + 1;
}
}
for (int i = 0; i < m; i++)
{
printf("%d\n", res[i]);
}
return 0;
}
반응형
'이론 > 코딩테스트' 카테고리의 다른 글
[백준] 2751번 수 정렬하기2 (병합정렬) (0) | 2022.07.31 |
---|---|
[백준] 2805번 나무자르기 (이분탐색) (0) | 2022.07.30 |
[백준] 2667번 단지번호붙이기 (BFS) (0) | 2022.07.30 |
[백준] 2178번 미로 탐색 (BFS) (0) | 2022.07.30 |
[백준] 1697번 숨바꼭질 (BFS) (0) | 2022.07.30 |