結果
問題 | No.1905 PURE PHRASE |
ユーザー |
![]() |
提出日時 | 2022-04-15 22:09:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 247 ms / 2,000 ms |
コード長 | 2,042 bytes |
コンパイル時間 | 454 ms |
コンパイル使用メモリ | 82,816 KB |
実行使用メモリ | 98,048 KB |
最終ジャッジ日時 | 2024-12-25 00:45:19 |
合計ジャッジ時間 | 12,369 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
# region template from typing import Generic, Iterable, Iterator, TypeVar, Union, List from bisect import bisect_left, bisect_right from bisect import bisect_left, bisect_right, insort from email.policy import default import re import typing import math import sys import copy import itertools import collections import bisect import heapq import decimal import random import gc def ni(): return int(sys.stdin.readline()) def ns(): return map(int, sys.stdin.readline().split()) def ns1(): return map(lambda x: int(x)-1, sys.stdin.readline().split()) def na(): return list(map(int, sys.stdin.readline().split())) def na1(): return list(map(lambda x: int(x)-1, sys.stdin.readline().split())) def nall(): return list(map(int, sys.stdin.read().split())) def flush(): return sys.stdout.flush() def nib(): return int(sys.stdin.buffer.readline()) def nsb(): return map(int, sys.stdin.buffer.readline().split()) def ns1b(): return map(lambda x: int(x)-1, sys.stdin.buffer.readline().split()) def nab(): return list(map(int, sys.stdin.buffer.readline().split())) def na1b(): return list(map(lambda x: int(x)-1, sys.stdin.buffer.readline().split())) def nallb(): return list(map(int, sys.stdin.buffer.read().split())) # limregion # sys.setrecursionlimit(10**7+1) inf = 10**20 # mod = 10**9+7 mod = 998244353 def main(): # txtからの入力受け取り # f = open('./in/01_sample_03.in', 'r') # N = int(f.readline()) # A = list(map(int, f.readline().split())) # f.close() N = ni() A = na() onkai = 7 samplingRate = 44100 code = ['C4', 'D4', 'E4', 'F4', 'G4', 'A4', 'B4'] hz = [261.6, 294.3, 327.0, 348.8, 392.4, 436.0, 490.5] width = [int(samplingRate//hz[i]) for i in range(onkai)] res = -inf diff = inf for i in range(onkai): w = width[i] tdiff = 0 for j in range(w): tdiff += abs(A[j]-A[j+w]) tdiff /= w if tdiff <= diff: diff = tdiff res = i print(code[res]) if __name__ == '__main__': main()