結果
問題 | No.3073 Fraction Median |
ユーザー |
👑 |
提出日時 | 2025-03-21 23:10:35 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 898 bytes |
コンパイル時間 | 256 ms |
コンパイル使用メモリ | 82,428 KB |
実行使用メモリ | 54,104 KB |
最終ジャッジ日時 | 2025-03-21 23:10:42 |
合計ジャッジ時間 | 6,682 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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):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, 2 * 10**18)):ok = midelse:ng = midcnt += okif ok > 0 and comp((max_c, max_d), (A[ok - 1], A[i])):max_c, max_d = A[ok - 1], A[i]return (True, (max_c, max_d)) if cnt < N * (N - 1) // 2 else (False, (max_c, max_d))ok, ng = 0, 2 * 10**18 + 1while ng - ok > 1:mid = (ok + ng) // 2if check(mid)[0]:ok = midelse:ng = midans = check(ng)[1]print(ans[0] // gcd(*ans), ans[1] // gcd(*ans))