結果

問題 No.761 平均値ゲーム
ユーザー siman
提出日時 2022-05-11 19:51:50
言語 Ruby
(3.4.1)
結果
AC  
実行時間 140 ms / 2,000 ms
コード長 351 bytes
コンパイル時間 271 ms
コンパイル使用メモリ 7,296 KB
実行使用メモリ 20,736 KB
最終ジャッジ日時 2024-07-19 05:17:17
合計ジャッジ時間 14,161 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 100
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

N = gets.to_i
A = gets.split.map(&:to_i)
RUI = [0]

A.each do |a|
  RUI << RUI.last + a
end

def dfs(l, r)
  return false if l > r
  return true if A[l] == A[r]

  sum = RUI[r + 1] - RUI[l]
  ave = sum / (r - l + 1.0)
  m = A.bsearch_index { |a| a >= ave }

  !dfs(l, m - 1) || !dfs(m, r)
end

if dfs(0, N - 1)
  puts "First"
else
  puts "Second"
end
0