結果

問題 No.553 AlphaCoder Rating
ユーザー sue_charo
提出日時 2017-08-12 00:10:45
言語 Python3
(3.8.1 + numpy 1.14.5 + scipy 1.1.0)
結果
AC  
実行時間 20 ms
コード長 860 Byte
コンパイル時間 67 ms
使用メモリ 5,744 KB
最終ジャッジ日時 2019-12-29 01:34:58

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
0sample1 AC 18 ms
5,724 KB
0sample2 AC 17 ms
5,720 KB
0sample3 AC 19 ms
5,744 KB
1codera_iroha AC 19 ms
5,740 KB
1leafmoon AC 18 ms
5,740 KB
1yuki2006 AC 19 ms
5,740 KB
2random1 AC 19 ms
5,740 KB
2random2 AC 19 ms
5,736 KB
2random3 AC 19 ms
5,740 KB
2random4 AC 20 ms
5,736 KB
2random5 AC 17 ms
5,744 KB
2random6 AC 20 ms
5,740 KB
2random7 AC 19 ms
5,744 KB
2random8 AC 19 ms
5,740 KB
2random9 AC 19 ms
5,744 KB
テストケース一括ダウンロード

ソースコード

diff #
# coding: utf-8
import math
def II(): return int(input())
def ILI(): return list(map(int, input().split()))


def read():
    N = II()
    RPerf = [II() for __ in range(N)]
    return N, RPerf


def solve(N, RPerf):
    F_inf_upper = math.sqrt(0.81 / (1 - 0.81))
    F_inf_under = 0.9 / (1 - 0.9)
    F_inf = F_inf_upper / F_inf_under

    F_n_upper = math.sqrt(0.81 * (1 - pow(0.81, N)) / (1 - 0.81))
    F_n_under = (0.9 * (1 - pow(0.9, N)) / (1 - 0.9))
    F_n = F_n_upper / F_n_under

    F_1 = 1
    f_n = ((F_n - F_inf) / (F_1 - F_inf)) * 1200

    g_1_upper = 0
    for ind, r in enumerate(RPerf):
        g_1_upper += pow(2, r / 800) * pow(0.9, ind + 1)
    g_1_under = F_n_under

    ans = 800 * math.log2(g_1_upper / g_1_under) - f_n

    return ans


def main():
    params = read()
    print(solve(*params))


if __name__ == "__main__":
    main()
0