結果

問題 No.871 かえるのうた
ユーザー AT274_AT274_
提出日時 2019-10-14 21:55:10
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 561 bytes
コンパイル時間 197 ms
コンパイル使用メモリ 82,180 KB
実行使用メモリ 872,476 KB
最終ジャッジ日時 2024-12-24 14:51:39
合計ジャッジ時間 24,701 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 38 ms
59,548 KB
testcase_01 MLE -
testcase_02 AC 39 ms
59,648 KB
testcase_03 MLE -
testcase_04 AC 49 ms
70,240 KB
testcase_05 AC 36 ms
317,724 KB
testcase_06 AC 39 ms
60,832 KB
testcase_07 AC 41 ms
268,372 KB
testcase_08 AC 51 ms
73,324 KB
testcase_09 AC 60 ms
70,920 KB
testcase_10 AC 81 ms
75,948 KB
testcase_11 AC 40 ms
58,840 KB
testcase_12 AC 76 ms
79,264 KB
testcase_13 AC 66 ms
74,412 KB
testcase_14 AC 101 ms
94,340 KB
testcase_15 AC 113 ms
95,220 KB
testcase_16 TLE -
testcase_17 AC 96 ms
94,060 KB
testcase_18 AC 49 ms
70,908 KB
testcase_19 AC 155 ms
96,744 KB
testcase_20 TLE -
testcase_21 AC 186 ms
87,520 KB
testcase_22 AC 60 ms
68,380 KB
testcase_23 AC 36 ms
52,928 KB
testcase_24 AC 34 ms
53,220 KB
testcase_25 AC 209 ms
82,952 KB
testcase_26 AC 1,403 ms
158,060 KB
testcase_27 AC 67 ms
76,696 KB
testcase_28 AC 38 ms
52,216 KB
testcase_29 AC 62 ms
90,692 KB
testcase_30 TLE -
testcase_31 AC 41 ms
60,896 KB
testcase_32 AC 718 ms
108,668 KB
testcase_33 AC 127 ms
97,320 KB
testcase_34 AC 50 ms
73,556 KB
testcase_35 AC 93 ms
94,716 KB
testcase_36 AC 85 ms
100,108 KB
testcase_37 TLE -
testcase_38 TLE -
testcase_39 AC 1,438 ms
159,564 KB
testcase_40 AC 128 ms
95,192 KB
testcase_41 AC 38 ms
52,500 KB
testcase_42 AC 161 ms
99,196 KB
testcase_43 AC 36 ms
52,820 KB
testcase_44 AC 37 ms
52,964 KB
testcase_45 AC 64 ms
73,624 KB
testcase_46 AC 38 ms
52,828 KB
testcase_47 AC 34 ms
53,212 KB
testcase_48 AC 36 ms
455,100 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

from bisect import bisect_left, bisect_right
N, K = map(int, input().split())
X = list(map(int, input().split())) + [10 ** 18]
A = list(map(int, input().split())) + [0]


visited = [0] * N
stack = [K - 1]

while stack:
    fr = stack.pop()
    visited[fr] = 1

    l = bisect_left(X, X[fr] - A[fr])
    r = bisect_right(X, X[fr] + A[fr])

    for to in range(l, fr):
        if visited[to]:
            continue
        stack.append(to)

    for to in range(fr + 1, r):
        if visited[to]:
            continue
        stack.append(to)

print(sum(visited))
0