結果
問題 |
No.329 全射
|
ユーザー |
![]() |
提出日時 | 2015-12-26 04:50:45 |
言語 | PyPy2 (7.3.15) |
結果 |
AC
|
実行時間 | 241 ms / 2,000 ms |
コード長 | 590 bytes |
コンパイル時間 | 643 ms |
コンパイル使用メモリ | 76,812 KB |
実行使用メモリ | 87,336 KB |
最終ジャッジ日時 | 2024-09-19 00:12:22 |
合計ジャッジ時間 | 8,256 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
I = lambda:map(int,raw_input().split()) p = 10**9+7 N,M = I();w = I();Mw = max(w) E = [[0]*N for i in xrange(N)] dp = [[0]*(Mw+1) for i in xrange(Mw+1)] dp[0][0]=1 for i in xrange(Mw): for j in xrange(i+1): dp[i+1][j+1] = (j+1)*(dp[i][j+1]+dp[i][j]) % p for i in xrange(N): E[i][i] = w[i] for t in xrange(M): i,j = I();E[i-1][j-1] = w[i-1] for k in xrange(N): for i in xrange(N): for j in xrange(N): t = E[k][j] if E[i][k] < t: t = E[i][k] if E[i][j] < t: E[i][j] = t A = 0 for i in xrange(N): for j in xrange(N): if w[j] <= E[i][j]: A = (A+dp[w[i]][w[j]]) % p print A