Submission #31069193


Source Code Expand

n, k = map(int, input().split())
a = list(map(int, input().split()))
if a[n - 1] < k:
    print(-1)
else:
    l = 0
    r = n - 1
    while l < r: # 答えの候補が 1 つになるまで繰り返す
        m = (l + r) // 2 # l と r の「ほぼ」中央を求める
        if a[m] >= k:
            r = m
        else:
            l = m + 1 # + 1 に注意
    print(l)

Submission Info

Submission Time
Task A - 二分探索の練習問題
User Pro_ktmr
Language PyPy3 (7.3.0)
Score 100
Code Size 387 Byte
Status AC
Exec Time 87 ms
Memory 85324 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 24
Set Name Test Cases
Sample sample_001.txt, sample_002.txt
All sample_001.txt, sample_002.txt, data_001.txt, data_002.txt, data_003.txt, data_004.txt, data_005.txt, data_006.txt, data_007.txt, data_008.txt, data_009.txt, data_010.txt, data_011.txt, data_012.txt, data_013.txt, data_014.txt, data_015.txt, data_016.txt, data_017.txt, data_018.txt, data_019.txt, data_020.txt, sample_001.txt, sample_002.txt
Case Name Status Exec Time Memory
data_001.txt AC 87 ms 83636 KiB
data_002.txt AC 53 ms 65756 KiB
data_003.txt AC 73 ms 82268 KiB
data_004.txt AC 73 ms 82400 KiB
data_005.txt AC 76 ms 82256 KiB
data_006.txt AC 66 ms 79504 KiB
data_007.txt AC 55 ms 68560 KiB
data_008.txt AC 66 ms 79744 KiB
data_009.txt AC 73 ms 82148 KiB
data_010.txt AC 58 ms 69180 KiB
data_011.txt AC 66 ms 78980 KiB
data_012.txt AC 69 ms 81340 KiB
data_013.txt AC 76 ms 83872 KiB
data_014.txt AC 79 ms 85324 KiB
data_015.txt AC 68 ms 78840 KiB
data_016.txt AC 75 ms 83988 KiB
data_017.txt AC 60 ms 75388 KiB
data_018.txt AC 51 ms 65280 KiB
data_019.txt AC 60 ms 75668 KiB
data_020.txt AC 58 ms 72076 KiB
sample_001.txt AC 49 ms 61456 KiB
sample_002.txt AC 50 ms 61728 KiB