結果
問題 |
No.2009 Drunkers' Contest
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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)