結果

問題 No.473 和と積の和
ユーザー cielciel
提出日時 2016-12-24 14:57:44
言語 Ruby
(3.4.1)
結果
AC  
実行時間 1,955 ms / 3,000 ms
コード長 327 bytes
コンパイル時間 358 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 24,960 KB
最終ジャッジ日時 2024-12-16 04:58:02
合計ジャッジ時間 17,297 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 43
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

require'prime'
n,x=gets.split.map &:to_i
a=(x+1).prime_division.map{|k,v|(0..v).map{|i|k**i}}
b=a.shift.product(*a).map{|e|e.reduce(:*)}.sort[1..-1].reverse
m={}
f=->x,n,d,a{
return 1 if x==1&&n==0
return 0 if x==1||n==0
m[[x,n,d]]||=lambda{
r=0
(d...a.size).each{|i|r+=f.(x/a[i],n-1,i,a) if x%a[i]==0}
r
}.()
}
p f.(x+1,n,0,b)
0