Koder / 박성훈
article thumbnail

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

 

10815번: 숫자 카드

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

www.acmicpc.net

 

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;
}
반응형