結果
| 問題 |
No.473 和と積の和
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 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
ソースコード
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)