728x90
https://www.acmicpc.net/problem/10815
정렬을 해놓은 후 이진탐색(이분검색)을 이용하면 된다.
그리고 많은 수를 입력받고 많은 수를 출력해야 하기 때문에 입출력 시간을 줄이는 다음 코드를 써줘야 한다.
ios_base::sync_with_stdio(false);
cin.tie(NULL);
정렬하는 것은 <algorithm> 헤더의 sort() 함수를 이용하고 이진탐색은 binary_search() 함수를 이용하면 된다.
이 함수들의 사용법을 자세히 알고 싶다면 아래 링크에서 볼 수 있다.
https://breakcoding.tistory.com/117
https://breakcoding.tistory.com/188
코드는 다음과 같다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
vector<int> v(n);
for (int i = 0; i < v.size(); i++) {
cin >> v[i];
}
sort(v.begin(), v.end());
int m;
cin >> m;
vector<bool> result(m);
for (int i = 0; i < m; i++) {
int temp;
cin >> temp;
result[i] = binary_search(v.begin(), v.end(), temp);
}
for (int i = 0; i < m; i++) {
cout << result[i] << " ";
}
return 0;
}
728x90
'알고리즘 문제' 카테고리의 다른 글
[백준] 1780번 종이의 개수 (0) | 2020.04.11 |
---|---|
[백준] N M 찍기 (0) | 2020.04.11 |
[백준] 1158번 요세푸스 문제 (0) | 2020.04.11 |
[백준] 4949번 균형잡힌 세상 (0) | 2020.04.08 |
[백준] 2589번 보물섬 (0) | 2020.04.07 |