結果
問題 | No.462 6日知らずのコンピュータ |
ユーザー |
![]() |
提出日時 | 2017-06-09 17:14:04 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 12 ms / 2,000 ms |
コード長 | 663 bytes |
コンパイル時間 | 52 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-22 14:32:36 |
合計ジャッジ時間 | 2,985 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 84 |
ソースコード
def countbit(n):ct = 0while n != 0:ct += n % 2n /= 2return ctdef fact(n):if n == 0:return 1else:return n * fact(n-1)def calc(n,k,l):if k == 0:return fact(n) % (10**9+7)for i in range(1,k):if ((l[i] ^ l[i-1]) & l[i-1]) != 0:return 0ll = map(countbit, l)ret = fact(ll[0]) % (10**9+7)for i in range(1,k):ret *= fact(ll[i]-ll[i-1])ret %= 10**9+7ret *= fact(n-ll[-1])return ret % (10**9+7)n,k = map(int, raw_input().split())if k != 0:l = sorted(map(int, raw_input().split()))else:l = []print calc(n,k,l)