結果
| 問題 |
No.1071 ベホマラー
|
| コンテスト | |
| ユーザー |
なつつーく
|
| 提出日時 | 2020-06-05 22:33:36 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 714 bytes |
| コンパイル時間 | 299 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 35,788 KB |
| 最終ジャッジ日時 | 2024-12-17 16:26:20 |
| 合計ジャッジ時間 | 47,100 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 5 |
| other | AC * 2 WA * 3 TLE * 15 |
ソースコード
#-------------------------------------------------------------------
import sys
def p(*_a):
_s=" ".join(map(str,_a))
#print(_s)
sys.stderr.write(_s+"\n")
#-------------------------------------------------------------------
import math
N,K,X,Y = map(int, input().split())
A = list(map(int, input().split()))
maxA = max(A)
if maxA==1:
print(0)
exit()
B = sorted(A)
# 回数、逆順、累積和
C=[0]*N
for i in range(N)[::-1]:
C[i] = math.ceil( (B[i]-1) / K )
if i < N-1: C[i] += C[i+1]
#p("C = ",C)
hp = 1
i = 0
ans = 0
while i<N:
a = A[i]
if a <= hp:
i += 1
continue
if C[i]*X >= (math.ceil(maxA/K))*Y:
hp += K
ans += Y
else:
A[i] -= K
ans += X
print(ans)
なつつーく