結果
問題 | No.1042 愚直大学 |
ユーザー |
|
提出日時 | 2022-10-07 14:33:02 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 892 bytes |
コンパイル時間 | 345 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 16,512 KB |
最終ジャッジ日時 | 2024-06-11 21:36:40 |
合計ジャッジ時間 | 4,464 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 11 TLE * 1 -- * 11 |
ソースコード
from math import log2, log class DiffSolveTime: def __init__(self, p: int, q: int): self.__p = p self.__q = q def diff_solve_time(self, n: int | float) -> float: return n ** 2 - self.__p - self.__q * n * log2(n) def diff_solve_time_derived(self, n: int | float) -> float: return n * 2 - self.__q * log2(n) - self.__q / log(2) def diff2_solve_time_derived(self, n: int | float) -> float: return 2 - self.__q / (n * log(2)) def get_inflection(self) -> float: return self.__q / (2*log(2)) def main(): P, Q = map(int, input().split()) solver = DiffSolveTime(P, Q) N = 1e2 while solver.diff_solve_time(N) < 0: N *= 10 while abs(solver.diff_solve_time(N)) > 1e-6: N -= (solver.diff_solve_time(N)/solver.diff_solve_time_derived(N)) print(N) if __name__ == "__main__": main()