結果

問題 No.2821 A[i] ← 2A[j] - A[i]
コンテスト
ユーザー むつある
提出日時 2024-07-26 22:46:00
言語 PyPy3
(8.0.0 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 269 ms / 1,500 ms
+ 764µs
コード長 472 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 86 ms
コンパイル使用メモリ 64,768 KB
実行使用メモリ 105,792 KB
最終ジャッジ日時 2026-10-21 01:33:10
合計ジャッジ時間 7,165 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 34
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import sys
sys.setrecursionlimit(10 ** 7)
import pypyjit
pypyjit.set_param('max_unroll_recursion=-1')

n=int(input())
a=list(map(int,input().split()))

def f(x):
  x=set(x)
  x=list(x)
  if len(x)<=2:
    return x
  x.sort()
  a=x[1]-x[0]
  b=x[2]-x[1]
  if a==b:
    return x[:2]
  if a<b:
    c=b%a
    return f([x[2]-a-c,x[2]-c,x[2]])
  else:
    c=a%b
    return f([x[1],x[1]+c,x[1]+c+b])
    
now=[]
for i in a:
  now.append(i)
  now=f(now)
  print(max(now)-min(now))
0