結果
| 問題 |
No.871 かえるのうた
|
| コンテスト | |
| ユーザー |
FromBooska
|
| 提出日時 | 2023-04-19 19:47:20 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 922 bytes |
| コンパイル時間 | 345 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 98,816 KB |
| 最終ジャッジ日時 | 2024-10-14 22:08:04 |
| 合計ジャッジ時間 | 5,344 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 32 WA * 1 RE * 16 |
ソースコード
# K番から右と左に尺取り法
# 毎回min, maxを更新していき、それに合わせて尺取りを動かす
N, K = map(int, input().split())
X = list(map(int, input().split()))
A = list(map(int, input().split()))
K -= 1
left = K
right = K
mn = X[K]-A[K]
mx = X[K]+A[K]
while True:
improve = False
while left > 1:
if mn <= X[left-1]:
left -= 1
improve = True
mn = min(mn, X[left]-A[left])
mx = max(mx, X[left]+A[left])
else:
break
while right < N:
if mx >= X[right+1]:
right += 1
improve = True
mn = min(mn, X[right]-A[right])
mx = max(mx, X[right]+A[right])
else:
break
#print('improve', improve, 'left', left, 'right', right)
if improve == False:
break
ans = right+1-left
print(ans)
FromBooska