E - 多段構成のコスト最小化

2 secs 1024 MB
matcharate12's icon matcharate12

Story

🖥

ラテ君はついに「株式会社まっちゃラテ」という企業に就職をして、システムエンジニアの担当に就きました!
主にサーバーの管理を行うようですが、現時点でのサーバの導入環境はあまりよろしくないようです。

ということで早速ラテ君は、サーバの管理状況を改善させようと思い、部長さんと一緒にプロジェクトを立ち上げました。
まず最初に会社で決められているリソース上限と、コストについて話し合いました。

この情報をもとにラテ君は、どのようなサーバ環境を導入すればよいかを最適に決める方法を思いつく必要があります。
この状況を見ていたあなたは、代わりにこの問題を解決しようと思い、自ら立ち上がったようです。

問題

あるシステムは、MM 段の独立な処理から構成されています。各段階 i (1iM)i\ (1 \le i \le M) には、正整数の性能値 aia_i を設定します。

システム全体の性能は、各段階の性能値の積によって定まります。
すなわち、全体性能は a1×a2××aMa_1 \times a_2 \times \dots \times a_M で表されます。

あなたは、全体性能をちょうど NN にしたいと考えています。したがって、次の条件をすべて満たす必要があります。

  • 各性能値は正整数であり、1a1a2aMN1 \le a_1 \le a_2 \le \dots \le a_M \le N
  • 性能値の積はちょうど NN に等しい、すなわち a1×a2××aM=Na_1 \times a_2 \times \dots \times a_M = N

また、各段階の装置コストは性能値に比例します。そのため、総コストは a1+a2++aMa_1 + a_2 + \dots + a_M で表されます。
適切に装置を導入した場合の、あり得る総コストの最小値を求めてください。

入力

入力は以下の形式で与えられる。

NNMM

制約

  • 1N1061\le N\le 10^6
  • 1M301\le M\le 30

出力

答えを出力せよ。

入出力例

入力例1
12 2
出力例1
7

このとき、条件 a1×a2=12a_1 \times a_2 = 12 を満たす数列は (1,12)(1,12)(2,6)(2,6)(3,4)(3,4) などが考えられます。
それぞれの総コストは 1+12=131+12=132+6=82+6=83+4=73+4=7 です。

このうち最小値は 77 であるため、77 を出力します。

入力例2
16 3
出力例2
8

条件 a1×a2×a3=16a_1 \times a_2 \times a_3 = 16 を満たす数列の一例として (1,1,16)(1,1,16)(1,2,8)(1,2,8)(1,4,4)(1,4,4)(2,2,4)(2,2,4) などがあります。
それぞれの総コストは 181811119988 です。

一方、(2,2,4)(2,2,4) は条件 1a1a2a3161 \le a_1 \le a_2 \le a_3 \le 16 を満たし、総コストは 2+2+4=82+2+4=8 となります。
総コスト 88 が最小値となります。

入力例3
1000 3
出力例3
30

提出


Go (1.21)