結果
| 問題 |
No.871 かえるのうた
|
| コンテスト | |
| ユーザー |
FromBooska
|
| 提出日時 | 2023-04-19 19:45:56 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 922 bytes |
| コンパイル時間 | 166 ms |
| コンパイル使用メモリ | 82,400 KB |
| 実行使用メモリ | 98,816 KB |
| 最終ジャッジ日時 | 2024-10-14 22:06:32 |
| 合計ジャッジ時間 | 6,368 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 34 WA * 2 RE * 13 |
ソースコード
# 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 > 0:
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