結果
問題 | 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