結果

問題 No.1597 Matrix Sort
ユーザー kamome
提出日時 2021-07-09 23:10:53
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
MLE  
実行時間 -
コード長 589 bytes
コンパイル時間 173 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 547,048 KB
最終ジャッジ日時 2024-07-01 18:13:43
合計ジャッジ時間 6,050 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 3
other MLE * 1 -- * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

import numpy as np
N, K, P = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))

s = [0]*(10**7+1)
t = [0]*(10**7+1)

fft_len = 2**24
for a in A:
    s[a] += 1
for b in B:
    t[b] += 1

s = np.array(s, dtype=np.int32)
t = np.array(t, dtype=np.int32)

Fs = np.fft.rfft(s, fft_len)
Ft = np.fft.rfft(t, fft_len)
Fst = Fs*Ft
st = np.fft.irfft(Fst, fft_len)
st = list(np.rint(st))

ans = [0]*P

for i, v in enumerate(st):
    ans[i % P] += int(v)

cnt = 0
for i in range(P):
    cnt += int(ans[i])
    if cnt >= K:
        print(i)
        break
0