[Binary Search]Boj 1920:数値検索
1252 ワード
[Binary Search]Boj 1920:数値検索
Link: https://www.acmicpc.net/problem/1920
質問する
N個の整数A[1]、A[2]、...、およびA[N]が与えられた場合、Xという整数が存在するか否かを判定するプログラムを作成してください.
入力
第1行は自然数N(1≦N≦100000)を与える.次の行には、N個の整数A[1],A[2],...,A[N]が与えられる.次の行はM(1≦M≦100000)を与える.次の行はM個の数を与え、これらの数がAに存在するかどうかを見つければよい.すべての整数の範囲は、231未満の-231以上です.
しゅつりょく
M行に答えを出力します.存在する場合は1を出力し、存在しない場合は0を出力します.
I/O例
コード#コード#
import sys
si = sys.stdin.readline
N = int(si())
list_A = list(map(int,si().split()))
M = int(si())
list_B = list(map(int,si().split()))
list_A.sort()
def BS(list_,L,R,X):
while L <= R:
mid = (L+R)//2
if list_[mid] == X:
return 1
if list_[mid] > X: R = mid-1
else: L = mid+1
return 0
for x in list_B:
print(BS(list_A,0,N-1,x))
Screenshot & Output
Reference
この問題について([Binary Search]Boj 1920:数値検索), 我々は、より多くの情報をここで見つけました https://velog.io/@kakasi18/Binary-Search-Boj1920-수-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol