728x90
반응형
https://www.acmicpc.net/problem/10815
문제 해결 방법
- 상근이가 가지고 있는 카드를 정렬해준다
- 이분탐색을 사용한다
#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<long long int> a, b;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
for(int i=0; i<n; i++){
long long int x;
cin >> x;
a.push_back(x);
}
sort(a.begin(), a.end());
cin >> m;
for(int i=0; i<m; i++){
long long int x;
cin >> x;
b.push_back(x);
}
for(int i : b){
int start = 0;
int end = a.size();
while(start<=end){
int mid = (start + end)/2;
int item = a[mid];
if(item == i){
cout << 1 << " ";
break;
}
if(item < i) start = mid + 1;
else end = mid- 1;
if(start>end){
cout << 0 << " ";
}
}
}
return 0;
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
[이코테/정렬/C++] 선택 정렬 (0) | 2023.01.03 |
---|---|
[백준/이분탐색/C++] 10816번 숫자 카드 2 (upper_bound, lower_bound 사용) (0) | 2023.01.03 |
[백준/이분탐색/C++] 2805번 나무 자르기 (0) | 2023.01.02 |
[백준/DFS/C++] 2667번 단지번호 붙이기 (0) | 2023.01.02 |
[백준/이분탐색/C++] 1654번 랜선 자르기 (0) | 2023.01.01 |