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;
}
}
'알고리즘' 카테고리의 다른 글
C++ 알고리즘 - 백준 2839 설탕 배달 (0) | 2024.12.31 |
---|---|
C++ 알고리즘 - 백준 2164 카드2 (0) | 2024.12.30 |
C++ 알고리즘 - 백준 1018 체스판 다시 칠하기 (0) | 2024.12.29 |
C++ 알고리즘 - 백준 11651 좌표 정렬하기 2 (0) | 2024.12.29 |
C++ 알고리즘 - 백준 11650 좌표 정렬하기 (0) | 2024.12.29 |