結果
| 問題 | No.1071 ベホマラー | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2021-02-25 13:32:08 | 
| 言語 | Kuin (KuinC++ v.2021.9.17) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 63 ms / 2,000 ms | 
| コード長 | 650 bytes | 
| コンパイル時間 | 2,420 ms | 
| コンパイル使用メモリ | 147,432 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-09-16 11:39:22 | 
| 合計ジャッジ時間 | 3,888 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 5 | 
| other | AC * 20 | 
ソースコード
func main()
	var n: int :: cui@inputInt()
	var k: int :: cui@inputInt()
	var x: int :: cui@inputInt()
	var y: int :: cui@inputInt()
	var a: []int :: #[n + 1]int
	for i(1, n)
		do a[i] :: (cui@inputInt() - 1 + k - 1) / k
	end for
	do a.sort()
	do a.reverse()
	
	var numY: int :: a[0]
	var numX: int :: 0
	var mp: int :: y * numY + x * numX
	var maxNumX: int :: (mp + x - 1) / x
	var ans: int :: mp
	for i(0, n - 1)
		var numDiff: int :: a[i] - a[i + 1]
		do numY :- numDiff
		do numX :+ numDiff * (i + 1)
		if(numX >= maxNumX)
			break i
		end if
		do mp :: y * numY + x * numX
		do ans :: lib@min(ans, mp)
	end for
	do cui@print("\{ans}\n")
end func
            
            
            
        