結果
問題 |
No.871 かえるのうた
|
ユーザー |
|
提出日時 | 2025-04-12 15:52:56 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 123 ms / 2,000 ms |
コード長 | 877 bytes |
コンパイル時間 | 406 ms |
コンパイル使用メモリ | 82,408 KB |
実行使用メモリ | 96,092 KB |
最終ジャッジ日時 | 2025-04-12 15:53:03 |
合計ジャッジ時間 | 6,215 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 49 |
ソースコード
## 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()