結果

問題 No.1150 シュークリームゲーム(Easy)
ユーザー yuruhiya
提出日時 2020-08-08 10:23:49
言語 Ruby
(3.4.1)
結果
WA  
実行時間 -
コード長 756 bytes
コンパイル時間 41 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 20,480 KB
最終ジャッジ日時 2024-10-01 07:54:02
合計ジャッジ時間 6,546 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 35 WA * 8
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n = gets.to_i
s, t = gets.split.map { _1.to_i.pred }
a = gets.split.map &:to_i

x, y = [], []
(1..).each do |i|
	break if (s + i) % n == t
	x << a[(s + i) % n]
end
(1..).each do |i|
	break if (s - i) % n == t
	y << a[(s - i) % n]
end
ans = a[s] - a[t]

X, Y = x.size, y.size
if X.even? && Y.even?
	ans += x[...X / 2].sum - x[X / 2..].sum
	ans += y[...Y / 2].sum - y[Y / 2..].sum
elsif X.even? && Y.odd?
	ans += x[...X / 2].sum - x[X / 2..].sum
	ans += y[..Y/2].sum  - y[Y/2+1..].sum
elsif X.odd? && Y.even?
	ans += x[..X/2].sum - x[X/2+1..].sum
	ans += y[...Y / 2].sum - y[Y / 2..].sum
else
	x1=x[..X/2].sum-x[X/2+1..].sum
	x2=x[...X/2].sum-x[X/2..].sum
	y1=y[..X/2].sum-y[Y/2+1..].sum
	y2=y[...Y/2].sum-y[Y/2..].sum
	ans += [x1+y2,x2+y1].max
end
puts ans
0