Submission #8278991


Source Code Expand

Copy
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
from heapq import heappush, heappushpop, heapify
from fractions import gcd
N = int(readline())
m = map(int,read().split())
AB = sorted(zip(m,m),key=lambda x:(x[1],x[0]))
A,B = zip(*AB)
dp2 = [0]*N # T_B - T_A
for i in range(N-1,0,-1):
a = A[i]; b = B[i]
if a<b:
dp2[i-1] = dp2[i]+(b-a)
else:
dp2[i-1] = dp2[i]
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

from heapq import heappush, heappushpop, heapify
from fractions import gcd

N = int(readline())
m = map(int,read().split())
AB = sorted(zip(m,m),key=lambda x:(x[1],x[0]))
A,B = zip(*AB)

dp2 = [0]*N # T_B - T_A
for i in range(N-1,0,-1):
    a = A[i]; b = B[i]
    if a<b:
        dp2[i-1] = dp2[i]+(b-a)
    else:
        dp2[i-1] = dp2[i]

def F(n):
    opt_num = -1
    opt_den = 1
    q = list(-x for x in A[:n])
    heapify(q)
    S = -sum(q)
    for i in range(n,N):
        a = A[i]; b = B[i]
        x = S+a-dp2[i]
        if 0<=x<=b:
            den = b
            num = (n+1)*den-x
            if opt_num*den < opt_den*num:
                opt_num = num; opt_den = den
        x = a
        y = -heappushpop(q,-x)
        S += x-y
    return opt_num, opt_den

opt_num = 0; opt_den = 1
left = -1 # 値がある
right = N+10 # むり
while left+1 < right:
    mid = (left+right)//2
    num,den = F(mid)
    if num==-1:
        right=mid
    else:
        left=mid
        if opt_num*den < opt_den*num:
            opt_num = num; opt_den = den

opt_den *= N
g = gcd(opt_num,opt_den)
opt_num//=g; opt_den//=g
print(opt_num,opt_den)

Submission Info

Submission Time
Task D - Balance Beam
User maspy
Language PyPy3 (2.4.0)
Score 1100
Code Size 1310 Byte
Status AC
Exec Time 1269 ms
Memory 123072 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1100 / 1100
Status AC
AC × 44
Set Name Test Cases
Sample
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 00-sample-04.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt
Case Name Status Exec Time Memory
00-sample-01.txt AC 295 ms 66156 KB
00-sample-02.txt AC 266 ms 63852 KB
00-sample-03.txt AC 268 ms 63852 KB
00-sample-04.txt AC 267 ms 63852 KB
01-01.txt AC 265 ms 63852 KB
01-02.txt AC 799 ms 99792 KB
01-03.txt AC 1145 ms 121424 KB
01-04.txt AC 736 ms 96272 KB
01-05.txt AC 889 ms 104800 KB
01-06.txt AC 706 ms 96864 KB
01-07.txt AC 554 ms 88536 KB
01-08.txt AC 623 ms 92080 KB
01-09.txt AC 1262 ms 121520 KB
01-10.txt AC 609 ms 94680 KB
01-11.txt AC 767 ms 101432 KB
01-12.txt AC 1170 ms 121180 KB
01-13.txt AC 1038 ms 120460 KB
01-14.txt AC 739 ms 99356 KB
01-15.txt AC 528 ms 87384 KB
01-16.txt AC 1063 ms 121468 KB
01-17.txt AC 517 ms 86616 KB
01-18.txt AC 661 ms 98096 KB
01-19.txt AC 480 ms 83072 KB
01-20.txt AC 1258 ms 121408 KB
01-21.txt AC 1222 ms 123072 KB
01-22.txt AC 1220 ms 121920 KB
01-23.txt AC 1209 ms 121920 KB
01-24.txt AC 1204 ms 122688 KB
01-25.txt AC 1215 ms 122688 KB
01-26.txt AC 1254 ms 122304 KB
01-27.txt AC 1269 ms 122176 KB
01-28.txt AC 1171 ms 121324 KB
01-29.txt AC 1189 ms 121836 KB
01-30.txt AC 1186 ms 121580 KB
01-31.txt AC 1128 ms 120940 KB
01-32.txt AC 1112 ms 121708 KB
01-33.txt AC 1094 ms 121580 KB
01-34.txt AC 1173 ms 120940 KB
01-35.txt AC 1169 ms 121196 KB
01-36.txt AC 1191 ms 121068 KB
01-37.txt AC 866 ms 114608 KB
01-38.txt AC 1105 ms 121668 KB
01-39.txt AC 1048 ms 121940 KB
01-40.txt AC 1050 ms 120992 KB


2025-04-12 (Sat)
03:26:34 +00:00