Algorithm/백준
C++ 알고리즘 - 백준 1920 수 찾기 (이진탐색 알고리즘)
마루설아
2024. 12. 30. 19:38
https://www.acmicpc.net/problem/1920
#include <iostream>
#include <vector>
#include <algorithm>
#define endl "\n"
using namespace std;
int main(void) {
// C++ Init
ios::sync_with_stdio(false);
cin.tie(NULL);
int input1, input2;
int num1, num2;
int front, back, mid;
vector<int> v;
cin >> input1;
for (int i = 0; i < input1; i++) {
cin >> num1;
v.push_back(num1);
}
sort(v.begin(), v.end());
cin >> input2;
for (int i = 0; i < input2; i++) {
cin >> num2;
front = 0;
back = input1 - 1;
while (front <= back) {
mid = (front + back) / 2;
if (v[mid] == num2) {
cout << 1 << endl;
break;
}
else if (v[mid] > num2) {
back = mid - 1;
}
else if (v[mid] < num2) {
front = mid + 1;
}
}
if (front > back) cout << 0 << endl;
}
}