結果

問題 No.1905 PURE PHRASE
ユーザー H20
提出日時 2022-04-15 22:43:48
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
実行時間 -
コード長 624 bytes
コンパイル時間 617 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 47,428 KB
最終ジャッジ日時 2024-12-25 01:49:28
合計ジャッジ時間 29,816 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 19 WA * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

import numpy as np
N = int(input())
A = list(map(int, input().split())) 
F = np.fft.fft(A)
# 振幅スペクトルを計算
amplitude = np.abs(F)
F_amplitude = amplitude / N * 2
F_amplitude[0] = F_amplitude[0] / 2
v = 0
hz = 0
for i in range(len(F_amplitude)):
	if v<F_amplitude[i]:
		hz=i
		v=F_amplitude[i]
L = ['C4','D4','E4','F4','G4','A4','B4']
HZ = [261.6,294.3,327.0,348.8,392.4,436.0,490.5]
ans = 0
v = 1000
for i in range(7):
    if v>min(hz/HZ[i]-int(hz/HZ[i]),abs(1-hz/HZ[i]+int(hz/HZ[i])))*HZ[i]/HZ[0]:
        v = min(hz/HZ[i]-int(hz/HZ[i]),abs(1-hz/HZ[i]+int(hz/HZ[i])))*HZ[i]/HZ[0]
        ans=i
print(L[ans])
0