結果
問題 |
No.2994 べき内積
|
ユーザー |
|
提出日時 | 2024-12-19 23:06:48 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,254 bytes |
コンパイル時間 | 209 ms |
コンパイル使用メモリ | 12,928 KB |
実行使用メモリ | 514,140 KB |
最終ジャッジ日時 | 2024-12-19 23:08:02 |
合計ジャッジ時間 | 74,116 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 2 OLE * 1 |
other | TLE * 22 MLE * 1 |
ソースコード
M_N, K, A = [input() for _ in range(3)] M_N_int = [int(s) for s in M_N.split()] m = M_N_int.pop(0) n = M_N_int.pop(0) k_sp = [int(k) for k in K.split()] a1_sp = A.split() a1_int = [int(s) for s in a1_sp] a = [a1_int] n_n = [i for i in range(n+1)] #n_n.reverse() k_kai = 0 p = 1009 def make_list(s): global a for _ in range(s-1): a.append([0]) def list_00(s, t): for i in range(1, s): for _ in range(t-1): a[i].append(0) def make_k(k): global k_kai for j in range(m+1): k_kai += k_sp[j]*p**j return k_kai def make_a(n, n_n): global a for i in range(1, k_kai): #for p in range(len(a[0])):だとうまくいかない for p in range(len(a[0])+1): if n_n is not None and len(n_n)>0: for j in n_n: a[i][p] += a[i-1][j]*a[0][n-j] print(f"a[{i}][{p}] += a[{i-1}][{j}] * a[0][{n-j}] = {a[i-1][j]} * {a[0][n-j]} -> {a[i][p]}") #n_n.pop(0) n_n.pop(-1) n -= 1 if n_n == []: n_n = [i for i in range(n+1)] #n_n.reverse() n = len(a[0])-1 #print(a[i]) a[i].reverse() #print(a[i]) def make_kai(k_kai, p): #a[-1].reverse() for i in range(len(a1_int)): print(a[k_kai-1][i]%p) make_k(k_sp) make_list(k_kai) list_00(k_kai, len(a1_int)) #print(a[1]) make_a(n, n_n) print(a) make_kai(k_kai,p)