結果
| 問題 | No.871 かえるのうた |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-04-12 15:52:56 |
| 言語 | PyPy3 (8.0.0 + ACL) |
| 結果 |
WJ
不安定
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 877 bytes |
| 記録 | |
| 最終ジャッジ日時 | 2026-10-14 01:05:21 |
|
ジャッジサーバーID (参考情報) |
judge5_0 / judge1_0 |
(要ログイン)
ソースコード
## https://yukicoder.me/problems/no/871
from collections import deque
def main():
N, K = map(int, input().split())
X = list(map(int, input().split()))
A = list(map(int, input().split()))
answer = 0
queue = deque()
queue.append(K - 1)
lower = K - 1
lower_border = X[K - 1] - A[K - 1]
upper = K - 1
upper_border = X[K - 1] + A[K - 1]
while len(queue) > 0:
i = queue.popleft()
upper_border = max(X[i] + A[i], upper_border)
lower_border = min(X[i] - A[i], lower_border)
answer += 1
while upper + 1 < N and X[upper + 1] <= upper_border:
upper += 1
queue.append(upper)
while lower - 1 >= 0 and X[lower - 1] >= lower_border:
lower -= 1
queue.append(lower)
print(answer)
if __name__ == "__main__":
main()