結果

問題 No.2009 Drunkers' Contest
ユーザー convexineq
提出日時 2024-03-19 03:09:17
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 273 ms / 2,000 ms
コード長 560 bytes
コンパイル時間 289 ms
コンパイル使用メモリ 82,160 KB
実行使用メモリ 158,008 KB
最終ジャッジ日時 2024-09-30 05:13:35
合計ジャッジ時間 9,950 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 54
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
readline = sys.stdin.readline
n = int(readline())
*A, = map(int,readline().split())
*B, = map(int,readline().split())

q = []
ans = 0.0
for a,b in zip(A,B):
    while q and a <= b:
        x,y = q.pop()
        a += x
        b += y
    if a <= b:
        ans += a+b
    else:
        q.append((a,b))

qq = []
for a,b in q:
    while qq:
        x,y = qq[-1]
        if b*x >= a*y:
            qq.pop()
            a += x
            b += y
        else:
            break
    qq.append((a,b))

for x,y in qq:
    ans += 2*(1.0*x*y)**0.5

print(ans)
0