結果

問題 No.1150 シュークリームゲーム(Easy)
ユーザー yuruhiyayuruhiya
提出日時 2020-08-08 10:23:49
言語 Ruby
(3.3.0)
結果
WA  
実行時間 -
コード長 756 bytes
コンパイル時間 41 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 20,480 KB
最終ジャッジ日時 2024-10-01 07:54:02
合計ジャッジ時間 6,546 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 88 ms
12,288 KB
testcase_01 AC 84 ms
12,160 KB
testcase_02 AC 84 ms
12,288 KB
testcase_03 AC 82 ms
12,288 KB
testcase_04 WA -
testcase_05 AC 82 ms
12,288 KB
testcase_06 AC 80 ms
12,288 KB
testcase_07 AC 83 ms
12,160 KB
testcase_08 WA -
testcase_09 AC 85 ms
12,160 KB
testcase_10 AC 83 ms
12,288 KB
testcase_11 AC 84 ms
12,288 KB
testcase_12 AC 80 ms
12,288 KB
testcase_13 AC 84 ms
12,288 KB
testcase_14 AC 85 ms
12,160 KB
testcase_15 AC 84 ms
12,288 KB
testcase_16 AC 85 ms
12,288 KB
testcase_17 WA -
testcase_18 AC 88 ms
12,160 KB
testcase_19 AC 86 ms
12,160 KB
testcase_20 AC 87 ms
12,288 KB
testcase_21 WA -
testcase_22 AC 128 ms
18,560 KB
testcase_23 AC 134 ms
18,688 KB
testcase_24 WA -
testcase_25 AC 138 ms
18,688 KB
testcase_26 AC 136 ms
19,200 KB
testcase_27 AC 137 ms
19,840 KB
testcase_28 WA -
testcase_29 AC 129 ms
18,560 KB
testcase_30 AC 132 ms
18,816 KB
testcase_31 AC 135 ms
18,688 KB
testcase_32 WA -
testcase_33 AC 129 ms
19,072 KB
testcase_34 AC 132 ms
19,072 KB
testcase_35 AC 133 ms
19,840 KB
testcase_36 AC 140 ms
20,224 KB
testcase_37 AC 139 ms
19,712 KB
testcase_38 AC 131 ms
18,432 KB
testcase_39 AC 131 ms
18,432 KB
testcase_40 WA -
testcase_41 AC 139 ms
19,712 KB
testcase_42 AC 147 ms
19,456 KB
testcase_43 AC 141 ms
19,584 KB
testcase_44 AC 142 ms
20,480 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
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