結果
問題 | No.1905 PURE PHRASE |
ユーザー | manta1130 |
提出日時 | 2022-04-15 22:01:05 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 497 ms / 2,000 ms |
コード長 | 601 bytes |
コンパイル時間 | 259 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 46,180 KB |
最終ジャッジ日時 | 2024-12-25 00:38:02 |
合計ジャッジ時間 | 21,493 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
import numpy as np import bisect n = int(input()) a = list(map(int, input().split(' '))) f = np.fft.fft(a) freq = np.fft.fftfreq(n, 1/n) amp = np.abs(f/(n/2)) l = [261.6, 294.3, 327.0, 348.8, 392.4, 436.0, 490.5] max = 0 maxval = 0.0 for i in range(len(l)): idx = bisect.bisect_left(freq[0:len(freq)//2], l[i]) buf = amp[idx] if maxval < buf: max = i maxval = buf if max == 0: print("C4") if max == 1: print("D4") if max == 2: print("E4") if max == 3: print("F4") if max == 4: print("G4") if max == 5: print("A4") if max == 6: print("B4")