結果
問題 |
No.871 かえるのうた
|
ユーザー |
![]() |
提出日時 | 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)