結果

問題 No.462 6日知らずのコンピュータ
コンテスト
ユーザー siman
提出日時 2021-11-18 15:10:25
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 94 ms / 2,000 ms
コード長 385 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 424 ms
コンパイル使用メモリ 8,832 KB
実行使用メモリ 14,976 KB
最終ジャッジ日時 2026-06-01 01:39:49
合計ジャッジ時間 10,192 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 84
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

N, K = gets.split.map(&:to_i)
MOD = 10 ** 9 + 7

if K == 0
  puts (1..N).inject(:*) % MOD
  exit
end

A = gets.split.map(&:to_i).sort
A << 2 ** N - 1
ans = 1
mask = 0

A.each do |a|
  cnt = 0

  N.times do |i|
    ans = 0 if mask[i] == 1 && a[i] == 0
    cnt += 1 if mask[i] == 0 && a[i] == 1
  end

  mask |= a
  v = [1, cnt].max
  ans *= (1..v).inject(:*)
  ans %= MOD
end

puts ans
0