結果
| 問題 |
No.368 LCM of K-products
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-02-02 00:48:04 |
| 言語 | Ruby (3.4.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 563 bytes |
| コンパイル時間 | 146 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 25,088 KB |
| 最終ジャッジ日時 | 2024-12-30 02:09:49 |
| 合計ジャッジ時間 | 13,137 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 34 TLE * 1 |
コンパイルメッセージ
Syntax OK
ソースコード
def ascan; gets.split.map(&:to_i);end
def mypow(x,w,md)
y=1
while 0<w
y = (x*y)%md if w.odd?
w/=2
x = (x*x)%md
end
y
end
require 'prime'
MD = 1000000007
N,K = ascan
aa = ascan.sort
# p aa.combination(K).map{|z| z.reduce(:*)}.reduce(:lcm)%MD
primes = aa.reduce({}) do |s,a|
Prime.prime_division(a).each do |k,v|
s[k] ||= []
s[k] << v
end
s
end
ans = 1
primes.each do |k, v|
ans *= mypow(k,(v.sort.pop([K,v.size].min).reduce(:+)),MD)
ans %= MD
end
p ans
# case
# 3 2
# 100 11 10