結果
問題 | No.1361 [Zelkova 4th Tune *] QUADRUPLE-SEQUENCEの詩 |
ユーザー |
![]() |
提出日時 | 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)