티스토리 뷰

백준

백준 소스코드 [C++] 10815 숫자 카드

Hani_Levenshtein 2020. 8. 29. 09:43

https://www.acmicpc.net/problem/10815

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

백준 소스코드 [C++] 10815 숫자 카드

#include <iostream>
#include <algorithm>
#include <queue>
#include <string.h>
#include <limits.h>
typedef long long ll;
using namespace std;
int arr[500000];
int n, m,k;
void find(int arr[],int m) {
	int start = 0;
	int end = n-1;
	while (start <= end) {
		int mid = (start + end) / 2;
		if (arr[mid] == m) {
			cout << "1"<<" "; return;
		}
		else if (arr[mid] > m) end = mid - 1;
		else if (arr[mid] < m) start = mid + 1;
	}
	cout << "0"<< " "; return;
}
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	
	cin >> n;
	for (int i = 0;i < n;i++) cin >> arr[i];
	sort(arr, arr + n);
	cin >> k;
	for (int i = 0;i < k;i++) {
		cin >> m;
		find(arr, m);
	}
	return 0;
}
댓글