반응형
#include<stdio.h>
#include<algorithm>
using namespace std;
int binary_search(int a[], int n, int x) //이진 탐색, sort된 배열만 취급
{
long long l, r, m;
l = 0;
r = n - 1;
while (l <= r)
{
m = (l + r) / 2;
if (a[m] == x) return 1;
else if (a[m] > x) r = m - 1;
else l = m + 1;
}
return 0;
}
int main(void)
{
int M, N;
int A[100001], x;
bool check;
scanf("%d", &M);
for (int i = 0; i < M; i++)
{
scanf("%d", &A[i]);
}
sort(A, A+M);
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
scanf("%d", &x);
if (binary_search(A, M, x) == 1)
{
printf("1\n");
}
else
{
printf("0\n");
}
}
}
처음에는 반복문으로 sort함수를 만들어서 정렬 후 이진탐색을 통해 해당 값이 있는지 확인하였지만 시간초과가 발생하여서 헤더파일 <Algorithm>에 속해있는 Sort 알고리즘으로 정렬하면 시간 단축이 가능할 것 같아서 수정 후 정답 받았습니다.
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[C/C++] 백준 1934번 최소공배수 (최대공약수, 유클리드 호제법 사용) (0) | 2020.04.12 |
---|---|
[ C/C++] 백준 1009번 분산 처리 (0) | 2020.04.12 |
[C/C++] 백준 1037번 약수 (1) | 2020.04.12 |
[C/C++] 백준 1032번 명령 프롬프트 (0) | 2020.04.12 |
[C/C++] 백준 1026번 보물 (0) | 2020.04.12 |