結果
| 問題 |
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)