結果
問題 | No.2770 Coupon Optimization |
ユーザー | titia |
提出日時 | 2024-06-03 01:04:26 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 2,730 ms / 3,000 ms |
コード長 | 535 bytes |
コンパイル時間 | 220 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 133,872 KB |
最終ジャッジ日時 | 2024-12-23 10:32:05 |
合計ジャッジ時間 | 36,824 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 16 |
ソースコード
import sys input = sys.stdin.readline N,M=map(int,input().split()) A=list(map(int,input().split())) B=list(map(int,input().split())) for i in range(M): B[i]=100-B[i] A.sort() B.sort() while len(B)<N: B.append(100) B=B[:N] import numpy k=1 while k<N: k=k*2 k=k*2 #while len(B)<k: # B.append(100) while len(A)<k: A.append(0) B.append(0) g=numpy.fft.fft(A,k) h=numpy.fft.fft(B,k) f=[g[i]*h[i] for i in range(k)] ANS=numpy.fft.ifft(f) for ans in ANS[:N]: print(int(numpy.round(numpy.real(ans/100))))