結果
問題 |
No.2549 Paint Eggs
|
ユーザー |
|
提出日時 | 2025-07-23 09:41:52 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 677 bytes |
コンパイル時間 | 545 ms |
コンパイル使用メモリ | 82,168 KB |
実行使用メモリ | 136,032 KB |
最終ジャッジ日時 | 2025-07-23 09:42:00 |
合計ジャッジ時間 | 6,193 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 9 WA * 1 TLE * 1 -- * 34 |
ソースコード
N,M,K = map(int,input().split()) C = [0]+list(map(int,input().split())) A = [0]+list(map(int,input().split())) amax = max(A) D = {i:0 for i in range(1,M+1)} for i in range(1,K+1): D[C[i]] += 1 ans = 10**15 for j in range(1,M+1): ans = min(ans,A[j]*(K-D[j])) for i in range(2,N+1): if i+K-1>N:break D[C[i-1]] -= 1 D[C[i+K-1]] += 1 high = K*amax low = 0 while high-low>1: mid = (high+low)//2 flag = False for j in range(1,M+1): if A[j]*(K-D[j])<=mid: flag = True break if flag: high = mid else: low = mid ans = min(ans,high) print(ans)