n = int(input())
k = int(input())
start = []
end = []
for i in range(n):
a, b = map(int, input().split(" "))
start.append((a, i))
if b != -1: end.append((b, i))
end = sorted(end, key = lambda p: (p[0], -start[p[1]][0]))
start = sorted(start)
res = float('inf')
for t in range(n+1):
vis = [0] * n
votes = col = time = 0
for i in range(len(end)):
if col >= t: break
b, j = end[i]
vis[j] = 1
time += b/(col+1)
col += 1
votes += 1
if col < t: continue
for i in range(n):
if votes >= k: break
a, j = start[i]
if vis[j]: continue
vis[j] = 1
time += a/(col+1)
votes += 1
res = min(res, time)
assert res != float('inf')
print(res)
컴파일 시 표준 출력 (stdout) 메시지
Compiling 'Main.py'...
=======
adding: __main__.pyc (deflated 34%)
=======
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |