結果

問題 No.1884 Sequence
ユーザー titan23
提出日時 2022-06-14 13:34:44
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 224 ms / 2,000 ms
コード長 755 bytes
コンパイル時間 290 ms
コンパイル使用メモリ 82,212 KB
実行使用メモリ 168,960 KB
最終ジャッジ日時 2024-10-02 08:37:01
合計ジャッジ時間 7,010 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 40
権限があれば一括ダウンロードができます

ソースコード

diff #

# 中央ぞろえ

import sys
from collections import Counter
from math import gcd
input = lambda: sys.stdin.readline().rstrip()
inf = float('inf')

###############

n = int(input())
A = list(map(int, input().split()))
A.sort()
zero_cnt = 0
for i in range(n):
  if A[i] == 0:
    zero_cnt += 1
  else:
    break
C = A[zero_cnt:]
m = len(C)
if m <= 1:
  print('Yes')
  exit()
st = set()
for i in range(m-1):
  st.add(C[i+1] - C[i])
delta = 0
for i in st:
  delta = gcd(delta, i)

if len(C) > len(set(C)):
  if len(Counter(C)) >= 2:
    print('No')
  else:
    print('Yes')
  exit()
need = 0
for i in range(m-1):
  if (C[i+1] - C[i]) % delta != 0:
    print('No')
    exit()
  need += (C[i+1] - C[i]) // delta - 1
print('Yes' if need <= zero_cnt else 'No')
0