結果
| 問題 | No.1884 Sequence | 
| コンテスト | |
| ユーザー |  miscalc | 
| 提出日時 | 2022-03-07 14:30:36 | 
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 434 ms / 2,000 ms | 
| コード長 | 522 bytes | 
| コンパイル時間 | 254 ms | 
| コンパイル使用メモリ | 12,544 KB | 
| 実行使用メモリ | 34,284 KB | 
| 最終ジャッジ日時 | 2024-07-22 09:31:28 | 
| 合計ジャッジ時間 | 9,666 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 40 | 
ソースコード
import math
import sys
n = int(input())
a = list(map(int, input().split()))
c = []
for i in range(n):
  if a[i] != 0:
    c.append(a[i])
k = len(c)
if k == 0:
  print('Yes')
  sys.exit(0)
c = sorted(c)
d = []
for i in range(k - 1):
  d.append(c[i + 1] - c[i])
zerocnt = d.count(0)
if zerocnt > 0:
  print('Yes' if zerocnt == k - 1 else 'No')
  sys.exit(0)
g = 0
for i in range(k - 1):
  g = math.gcd(g, d[i])
need = 0
for i in range(k - 1):
  tmp = d[i] / g - 1
  need += tmp
print('Yes' if need <= n - k else 'No')
            
            
            
        