結果

問題 No.2994 べき内積
ユーザー solo
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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)
0