[BOJ 19637]IF文を書いてくれ(Python)
質問する
IF文を書いてくれ
問題の説明
称号の個数もキャラクターの個数も100000なので、
称号を基准とするか、キャラクターを基准とした二分探索をすれば良いのです
問題では、称号が降雨順に並べられているため、各キャラクターには称号リストが渡され、この方向にナビゲートされます.
同じ値がある場合、ライブラリの対分leftは最も左側のインデックスを返します.検索する値がない場合は、中央値の右側に戻りますので、負の値を先に置いておくと便利です.
プールコード
IF文を書いてくれ
問題の説明
称号の個数もキャラクターの個数も100000なので、
Nlog(M) or Mlog(N)
内で終了コードを記述する必要があります.称号を基准とするか、キャラクターを基准とした二分探索をすれば良いのです
問題では、称号が降雨順に並べられているため、各キャラクターには称号リストが渡され、この方向にナビゲートされます.
同じ値がある場合、ライブラリの対分leftは最も左側のインデックスを返します.検索する値がない場合は、中央値の右側に戻りますので、負の値を先に置いておくと便利です.
プールコード
import sys
import bisect
input = sys.stdin.readline
n, m = map(int, input().split())
title = []
power = [-1]
for i in range(n):
t, p = map(str, input().rstrip().split())
title.append(t)
power.append(int(p))
for _ in range(m):
p = int(input())
index = bisect.bisect_left(power, p)
print(title[index - 1])
Reference
この問題について([BOJ 19637]IF文を書いてくれ(Python)), 我々は、より多くの情報をここで見つけました https://velog.io/@qweadzs/BOJ-19637-IF문-좀-대신-써줘Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol