結果

問題 No.871 かえるのうた
ユーザー shinichi
提出日時 2021-09-22 17:19:17
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 104 ms / 2,000 ms
コード長 686 bytes
コンパイル時間 177 ms
コンパイル使用メモリ 82,688 KB
実行使用メモリ 98,884 KB
最終ジャッジ日時 2024-11-30 11:06:55
合計ジャッジ時間 4,760 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 49
権限があれば一括ダウンロードができます

ソースコード

diff #

N, K = map(int, input().split())
X = list(map(int, input().split()))
A = list(map(int, input().split()))
K -= 1

left, right = K, K
left_range, right_range = X[K] - A[K], X[K] + A[K]
while True:
    update = False
    while left != 0 and X[left-1] >= left_range:
        left -= 1
        left_range = min(left_range, X[left] - A[left])
        right_range = max(right_range, X[left]+A[left])
        update = True
    while right != N-1 and X[right+1] <= right_range:
        right += 1
        left_range = min(left_range, X[right] - A[right])
        right_range = max(right_range, X[right] + A[right])
        update = True
    if not update:
        break
print(right - left + 1)

0