結果
| 問題 |
No.1361 [Zelkova 4th Tune *] QUADRUPLE-SEQUENCEの詩
|
| コンテスト | |
| ユーザー |
convexineq
|
| 提出日時 | 2021-01-23 18:03:56 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,200 ms / 2,000 ms |
| コード長 | 1,262 bytes |
| コンパイル時間 | 570 ms |
| コンパイル使用メモリ | 82,468 KB |
| 実行使用メモリ | 118,732 KB |
| 最終ジャッジ日時 | 2024-12-31 08:28:00 |
| 合計ジャッジ時間 | 35,957 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 74 |
ソースコード
K,L,M,N,s,*A = map(int,open(0).read().split())
a,b,c,d = A[:K],A[K:K+L],A[K+L:K+L+M],A[K+L+M:K+L+M+N]
ab = sorted(i*j for i in a for j in b)
cd = sorted(i*j for i in c for j in d)
from bisect import bisect_left
Lab = bisect_left(ab,0)
Lcd = bisect_left(cd,0)
ok = INF = 10**18
ng = -INF
MN = M*N
while ok-ng > 1:
mid = (ok+ng)//2
v = r = 0
for i in range(Lab)[::-1]:
while r < Lcd and ab[i]*cd[r] > mid:
r += 1
v += Lcd-r
if r < MN and ab[i]*cd[r] == mid: x,y = ab[i],cd[r]
r = Lcd
for i in range(Lab):
while r < MN and ab[i]*cd[r] > mid:
r += 1
v += MN-r
if r < MN and ab[i]*cd[r] == mid: x,y = ab[i],cd[r]
r = 0
for i in range(Lab,K*L):
while r < Lcd and ab[i]*cd[r] <= mid:
if ab[i]*cd[r] == mid: x,y = ab[i],cd[r]
r += 1
v += r
r = Lcd
for i in range(Lab,K*L)[::-1]:
while r < MN and ab[i]*cd[r] <= mid:
if ab[i]*cd[r] == mid: x,y = ab[i],cd[r]
r += 1
v += r-Lcd
if v >= s: ok = mid
else: ng = mid
print(ok)
r = [0]*4
for i in a:
for j in b:
if i*j==x: r[0],r[1] = i,j
for i in c:
for j in d:
if i*j==y: r[2],r[3] = i,j
print(*r)
convexineq