結果
問題 | No.1071 ベホマラー |
ユーザー | ttr |
提出日時 | 2020-06-05 21:36:49 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 213 ms / 2,000 ms |
コード長 | 487 bytes |
コンパイル時間 | 108 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 21,972 KB |
最終ジャッジ日時 | 2024-12-17 13:43:05 |
合計ジャッジ時間 | 3,947 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 20 |
ソースコード
N,K,X,Y = map(int, input().split()) A = [int(a) for a in input().split()] for i in range(N): if (A[i]-1)%K == 0: A[i] = (A[i]-1)//K else: A[i] = (A[i]-1)//K+1 A.sort() ans = 0 import bisect cnt = 0 idx = bisect.bisect_right(A, cnt) while idx < N: if (N-idx)*X > Y: ans += Y*(A[idx]-cnt) cnt = A[idx] idx = bisect.bisect_right(A, cnt) else: for i in range(idx, N): ans += X*(A[i]-cnt) break print(ans)