結果
問題 | No.3073 Fraction Median |
ユーザー |
👑 |
提出日時 | 2025-03-21 23:20:00 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 954 bytes |
コンパイル時間 | 409 ms |
コンパイル使用メモリ | 82,324 KB |
実行使用メモリ | 53,840 KB |
最終ジャッジ日時 | 2025-03-21 23:20:07 |
合計ジャッジ時間 | 6,268 ms |
ジャッジサーバーID (参考情報) |
judge7 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 4 TLE * 1 -- * 13 |
ソースコード
from math import gcdN = int(input())A = sorted(list(map(int, input().split())))def comp(X, Y):x_c, x_d = Xy_c, y_d = Yreturn x_c * y_d <= y_c * x_ddef check(val, check=False):max_c, max_d = 0, 1cnt = 0for i in range(N):ok, ng = 0, Nwhile ng - ok > 1:mid = (ok + ng) // 2if comp((A[mid - 1], A[i]), (val, 10**18)):ok = midelse:ng = midcnt += okif not check:continueif ok > 0 and comp((max_c, max_d), (A[ok - 1], A[i])):max_c, max_d = A[ok - 1], A[i]if check:return (max_c, max_d)return True if cnt < N * (N - 1) // 2 else Falseok, ng = 0, 10**18 + 1while ng - ok > 1:mid = (ok + ng) // 2if check(mid):ok = midelse:ng = midans = check(ng, True)print(ans[0] // gcd(*ans), ans[1] // gcd(*ans))