結果
問題 |
No.871 かえるのうた
|
ユーザー |
![]() |
提出日時 | 2019-08-30 22:51:14 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 889 bytes |
コンパイル時間 | 97 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 28,908 KB |
最終ジャッジ日時 | 2024-11-22 01:53:02 |
合計ジャッジ時間 | 5,346 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 43 WA * 6 |
ソースコード
# #debug def dprint(*ar): # print(*ar) pass N, K = map(int, input().split()) vX = list(map(int, input().split())) vA = list(map(int, input().split())) # init # 0-origin initX = vX[K-1] initA = vA[K-1] L, R = (initX-initA), (initX+initA) # for plus prevX, prevA = initX, initA for i in range(K, N): dist = abs(vX[i] - prevX) dprint(dist, i, L, R) if dist > prevA: break else: prevX = vX[i] prevA = max(vA[i], prevA - dist) R = max(R, prevX + prevA) L = min(L, prevX - prevA) # for minus prevX, prevA = initX, initA for i in range(K-2, -1, -1): dist = abs(vX[i] - prevX) dprint(dist, i, L, R) if dist > prevA: break else: prevX = vX[i] prevA = max(vA[i], prevA - dist) R = max(R, prevX + prevA) L = min(L, prevX - prevA) res = sum([L<=x<=R for x in vX]) print(res)