結果

問題 No.2009 Drunkers' Contest
ユーザー Akijin_007
提出日時 2022-07-15 22:40:12
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 722 bytes
コンパイル時間 327 ms
コンパイル使用メモリ 82,364 KB
実行使用メモリ 147,232 KB
最終ジャッジ日時 2024-06-27 19:33:24
合計ジャッジ時間 16,526 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 12 WA * 42
権限があれば一括ダウンロードができます

ソースコード

diff #

#int(input())
#map(int, input().split())
#list(map(int, input().split()))

N = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))

ans = 0
x = 0


def time(x, a, b):
    return a / (1 + x) + b * (1 + x)

ans = 0

c = []
a = 0
b = 0

for i in range(N):
    a += A[i]
    b += B[i]
    c.append([max(1, (a/b)**0.5)-1, i+1])

c = sorted(c, reverse=True)

k = 0
u = [0] * N
while c:
    t = c.pop()
    if t[1] > k:
        sa = 0
        sb = 0
        for i in range(k, t[1]):
            sa += A[i]
            sb += B[i]
        for i in range(k, t[1]):
            u[i] = max(0, (sa/sb) ** 0.5 - 1)
        k = t[1]

for i in range(N):
    ans += time(u[i], A[i], B[i])

print(ans)





0