結果

問題 No.1071 ベホマラー
ユーザー shi-mo
提出日時 2020-10-01 23:26:33
言語 Ruby
(3.4.1)
結果
AC  
実行時間 204 ms / 2,000 ms
コード長 306 bytes
コンパイル時間 72 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 23,808 KB
最終ジャッジ日時 2024-07-07 06:39:29
合計ジャッジ時間 4,588 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 20
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n, h, x, y = gets.split.map(&:to_i)
a = gets.split.map{|ai| ai.to_i-1 }.sort!
c = a.map{|ai| Rational(ai, h).ceil }

if y <= x
  puts y * c.max
  exit
end
if n*x <= y
  puts c.map{|ci| ci*x }.sum
  exit
end

ny = Rational(y, x).ceil
cy = c[n - ny]
cx = c[(n-ny+1)..].map{|ci| ci - cy }.sum
puts x*cx + y*cy
0