結果
| 問題 |
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)