結果
問題 | No.2627 Unnatural Pitch |
ユーザー |
|
提出日時 | 2024-02-09 23:14:23 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,331 bytes |
コンパイル時間 | 278 ms |
コンパイル使用メモリ | 82,028 KB |
実行使用メモリ | 111,712 KB |
最終ジャッジ日時 | 2024-09-28 16:26:31 |
合計ジャッジ時間 | 3,558 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 WA * 6 |
ソースコード
from bisect import bisect_rightN,K,L,U = map(int,input().split())A = list(map(int,input().split()))A.sort()now_li = 0now_ui = bisect_right(A,U-L+A[0]) - 1now_l = A[0]if now_ui == N-1:print(0)else:while now_ui < N-1:if A[now_ui+1] - (now_l + U - L) < A[now_li+1] - now_l:now_l = A[now_ui+1] - U + Lnow_ui += 1else:now_l = A[now_li]now_li += 1if N - 1 - now_ui <= now_li:breaknow_u = now_l + U - Lans = 0k_list1 = [0]*Kk_list2 = [0]*Kfor a in A:ans += max(now_l - a + K - 1, 0)//Kif a < now_l:k_list1[a%K]+=1ans += max(a - now_u + K - 1, 0)//Kif now_u - K < a:k_list2[a%K]+=1max_ans = ansfor i in range(1,K-1):ans -= k_list1[(now_l-i)%K]ans += k_list2[(now_u-i+1)%K]max_ans = min(ans, max_ans)k_list1 = [0]*Kk_list2 = [0]*Kfor a in A:ans += max(now_l - a + K - 1, 0)//Kif a < now_l + K:k_list1[a%K]+=1ans += max(a - now_u + K - 1, 0)//Kif now_u < a:k_list2[a%K]+=1for i in range(1,K-1):ans += k_list1[(now_l+i-1)%K]ans -= k_list2[(now_u+i)%K]max_ans = min(ans, max_ans)print(max_ans)