結果
問題 | No.553 AlphaCoder Rating |
ユーザー | nannany |
提出日時 | 2017-08-11 23:19:46 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 31 ms / 1,500 ms |
コード長 | 851 bytes |
コンパイル時間 | 288 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-10-12 21:54:47 |
合計ジャッジ時間 | 1,685 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 |
ソースコード
import math def F(n): mother = 0 for i in range(1, n + 1): mother += 0.9 ** i child = 0 for i in range(1, n + 1): child += 0.81 ** i child = math.sqrt(child) return child / mother def f(n): sum_geometric_progression = math.sqrt(0.81 / 0.19) / 9 return (F(n) - sum_geometric_progression) / (F(1) - sum_geometric_progression) * 1200 def g(X): return 2.0 ** (X / 800) def g_inverse(X): return 800 * math.log(X, 2) if __name__ == '__main__': N = int(input()) RPerf = [] for i in range(N): RPerf.append(int(input())) arg_mother = 0 for i in range(1, N + 1): arg_mother += 0.9 ** i arg_child = 0 for i in range(1, N + 1): arg_child += g(RPerf[i - 1]) * (0.9 ** i) ans = g_inverse(arg_child / arg_mother) - f(N) print(int(ans))