結果
問題 |
No.1905 PURE PHRASE
|
ユーザー |
|
提出日時 | 2022-04-15 23:00:38 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 539 ms / 2,000 ms |
コード長 | 482 bytes |
コンパイル時間 | 235 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 45,996 KB |
最終ジャッジ日時 | 2024-12-25 02:10:35 |
合計ジャッジ時間 | 22,579 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
import numpy as np n = int(input()) A = np.array(list(map(np.float32, input().split()))) A = A / 32768.0 Data = np.fft.fft(A) Freq = np.fft.fftfreq(Data.shape[0], d=1/n) Data[(Freq < 250)] = 0.0 Data[(Freq > 500)] = 0.0 idx = np.argmax(Data) dif = 1000 ans = '' F = [261.6, 294.3, 327.0, 348.8, 392.4, 436.0, 490.5] S = ['C4', 'D4', 'E4', 'F4', 'G4', 'A4', 'B4'] p = 1 for i in range(7): d = abs(Freq[idx] - F[i]) if d < dif: dif = d ans = S[i] print(ans)