結果

問題 No.451 575
ユーザー koba-e964
提出日時 2016-12-03 00:51:46
言語 Ruby
(3.4.1)
結果
AC  
実行時間 308 ms / 2,000 ms
コード長 521 bytes
コンパイル時間 204 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 19,968 KB
最終ジャッジ日時 2024-12-16 11:14:09
合計ジャッジ時間 7,159 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:32: warning: ambiguous first argument; put parentheses or a space even after `-' operator
Syntax OK

ソースコード

diff #

n=gets.to_i
b=Array.new(n)
for i in 0...n
  b[i]=gets.to_i
end
a=Array.new(n+1)
a[0]=0
for i in 0...n
  if i%2==0
    a[i+1]=b[i]-a[i]
  else
    a[i+1]=a[i]-b[i]
  end
end
lim=10**18
xl=1-a[0]
xh=lim-a[0]
yl=a[1]-lim
yh=a[1]-1
for i in 0..n
  if i%4==0||i%4==3
    xl=[1-a[i],xl].max
    xh=[lim-a[i],xh].min
  else
    yl=[a[i]-lim,yl].max
    yh=[a[i]-1,yh].min
  end
end
xl=[xl,yl].max
xh=[xh,yh].min
if xl>xh
  puts -1
else
  puts n+1
  for i in 0..n
    puts a[i]+(if i%4==0||i%4==3 then xl else -xl end)
  end
end
0