백준 c++ 2776 암기왕
2776 암기왕
문제풀이
#include <iostream>
#include <algorithm>
using namespace std;
int arr[1000001];
void fast_io(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
int bn(int s, int len)
{
int l = 0, r = len - 1, m;
while (l <= r)
{
m = l + (r - l) / 2;
if (arr[m] < s)
l = m + 1;
else if (arr[m] > s)
r = m - 1;
else
return 1;
}
return 0;
}
int main(void)
{
fast_io();
int t;
cin >> t;
while (t--)
{
int n1, n2;
cin >> n1;
for (int i = 0; i < n1; i++)
cin >> arr[i];
cin >> n2;
sort(arr, arr + n1);
for (int i = 0; i < n2; i++)
{
int a;
cin >> a;
cout << bn(a, n1) << "\n";
}
}
}
- 노트1의 값들을 받아서 정렬한다.
- 노트2의 값들을 bn 함수로 넘겨서 탐색후 값을 받았다.
Author And Source
이 문제에 관하여(백준 c++ 2776 암기왕), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jaranda/백준-c-2776-암기왕저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)