結果
問題 |
No.854 公平なりんご分配
|
ユーザー |
|
提出日時 | 2019-07-26 22:11:18 |
言語 | Ruby (3.4.1) |
結果 |
MLE
|
実行時間 | - |
コード長 | 540 bytes |
コンパイル時間 | 549 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 822,656 KB |
最終ジャッジ日時 | 2024-07-02 07:34:52 |
合計ジャッジ時間 | 39,961 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 67 MLE * 14 -- * 11 |
コンパイルメッセージ
Syntax OK
ソースコード
require "prime" $memo = { 0 => [[0, 1]] } def f(n) $memo[n] ||= n.prime_division end P = 10**9+7 N = gets.to_i A = gets.split.map &:to_i Q = gets.to_i PLR = $<.map{|s| s.split.map &:to_i } $cusum = [primes = Hash.new(0)] + A.map{|a| primes = primes.dup f(a).each{|k, v| primes[k] += v } primes } PLR.each{|p, l, r| # p f(p) # puts [$cusum[r], $cusum[l-1]] if $cusum[r][0] - $cusum[l-1][0] > 0 puts "Yes" elsif f(p).all?{|k, v| $cusum[r][k] - $cusum[l-1][k] >= v } puts "Yes" else puts "NO" end }