結果
| 問題 |
No.1150 シュークリームゲーム(Easy)
|
| コンテスト | |
| ユーザー |
yuruhiya
|
| 提出日時 | 2020-08-08 10:32:45 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 132 ms / 2,000 ms |
| コード長 | 796 bytes |
| コンパイル時間 | 78 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 20,480 KB |
| 最終ジャッジ日時 | 2024-10-01 08:04:09 |
| 合計ジャッジ時間 | 6,245 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 43 |
コンパイルメッセージ
Syntax OK
ソースコード
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[..Y / 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
yuruhiya