結果
問題 | No.553 AlphaCoder Rating |
ユーザー |
![]() |
提出日時 | 2023-04-13 23:08:08 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 91 ms / 1,500 ms |
コード長 | 533 bytes |
コンパイル時間 | 231 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-10-09 19:01:57 |
合計ジャッジ時間 | 2,597 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 |
コンパイルメッセージ
Syntax OK
ソースコード
N = gets.to_i perfs = N.times.map { gets.to_i } def lf(n) a = 0 b = 0 1.upto(n) do |i| a += 0.81 ** i b += 0.9 ** i end Rational(Math.sqrt(a), b) end def f(n) a = Math.sqrt(Rational(0.81, 0.19)) b = Rational(0.9, 0.1) inf_f = Rational(a, b) Rational(lf(n) - inf_f, lf(1) - inf_f) * 1200 end def g(x) 2.0 ** Rational(x, 800) end def rg(x) 800 * Math.log2(x) end a = 0 b = 0 1.upto(N) do |i| a += g(perfs[i - 1]) * (0.9 ** i) b += 0.9 ** i end rate = rg(Rational(a, b)) - f(N) puts rate.ceil