結果
| 問題 |
No.871 かえるのうた
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-04-12 15:47:50 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 913 bytes |
| コンパイル時間 | 576 ms |
| コンパイル使用メモリ | 82,300 KB |
| 実行使用メモリ | 96,140 KB |
| 最終ジャッジ日時 | 2025-04-12 15:47:57 |
| 合計ジャッジ時間 | 6,887 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 26 WA * 23 |
ソースコード
## 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 = 1
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)
while upper + 1 < N and X[upper + 1] <= upper_border:
queue.append(upper)
upper += 1
answer += 1
while lower - 1 >= 0 and X[lower - 1] >= lower_border:
queue.append(lower)
lower -= 1
answer += 1
print(answer)
if __name__ == "__main__":
main()