[백준] 1920번:수 찾기
2021. 2. 6. 20:21ㆍAlgorithm/백준
1920번: 수 찾기
첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들
www.acmicpc.net
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int solution(vector<int>&num, int target) {
int start = 0;int end = num.size() - 1;
while (start <= end) {
int mid = (start + end) / 2;
if (num[mid] == target) return 1;
if (num[mid] < target) start = mid + 1;
else end = mid - 1;
}
return 0;
}
int main() {
cin.tie(NULL);
ios_base::sync_with_stdio(false);
int n, m, t;
vector<int>num;
cin >> n;
for (int i = 0;i < n;i++) {
cin >> t;
num.push_back(t);
}
sort(num.begin(), num.end());
cin >> m;
for (int i = 0;i < m;i++) {
cin >> t;
cout<<solution(num, t)<<'\n';
}
}
'Algorithm > 백준' 카테고리의 다른 글
[백준] 1654번: 랜선 자르기 (0) | 2021.02.07 |
---|---|
[백준] 2805번: 나무 자르기 (0) | 2021.02.07 |
[백준] 10816번: 숫자 카드2 (0) | 2021.02.06 |
[백준] 10815번: 숫자 카드 (0) | 2021.02.06 |
[백준] 2309번: 일곱 난쟁이 (0) | 2021.02.05 |