https://www.acmicpc.net/problem/10815
1920 수 찾기랑 크게 다른점이 없다
살짝만 바꿔줘도 통과 가능했음.
#include <stdio.h>
#include <algorithm>
int input[500001] = {0};
int search(int arr[], int s, int e, int f){
if(s>e) return 0;
int mid=(s+e)/2;
if(arr[mid] == f) return 1;
else if(arr[mid] > f) return search(arr,s,mid-1,f);
else return search(arr,mid+1,e,f);
}
int main(){
int n,m,k;
scanf("%d", &n);
for(int i=0; i<n; i++) scanf("%d", &input[i]);
std::sort(input, input+n);
scanf("%d", &m);
for(int i=0; i<m; i++){
scanf("%d", &k);
printf("%d ", search(input,0,n,k));
}
return 0;
}
반응형