結果
| 問題 |
No.1905 PURE PHRASE
|
| コンテスト | |
| ユーザー |
donuthole
|
| 提出日時 | 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()
donuthole