結果

問題 No.1460 Max of Min
ユーザー shiomusubi496
提出日時 2021-03-21 16:06:46
言語 PyPy3
(7.3.15)
結果
RE  
(最新)
AC  
(最初)
実行時間 -
コード長 869 bytes
コンパイル時間 263 ms
コンパイル使用メモリ 82,300 KB
実行使用メモリ 79,348 KB
最終ジャッジ日時 2024-11-29 09:56:31
合計ジャッジ時間 9,949 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 5 RE * 86
権限があれば一括ダウンロードができます

ソースコード

diff #

INF=10**18;
def op(a,b):
    c=[[-INF]*len(b[0])for i in range(len(a))]
    for i in range(len(a)):
        for j in range(len(b[0])):
            c[i][j]=max([min(a[i][k],b[k][j])for k in range(len(b))])
    return c
def e(K):
    a=[[-INF]*K for i in range(K)]
    for i in range(K):
        a[i][i]=INF;
    return a
def my_pow(a,b):
    if b==0:
        return e(len(a))
    if b%2==1:
        return op(my_pow(a,b-1),a)
    c=my_pow(a,b//2);
    return op(c,c)
K,N=map(int,input().split())
assert 1<=K<=100
assert 0<=N<=INF
A=list(map(int,input().split()))
B=list(map(int,input().split()))
for i in A:
    assert -INF<=i<=INF
for i in B:
    assert -INF<=i<=INF
a=[[-INF]for i in range(K)]
b=[[-INF]*K for i in range(K)]
for i in range(K):
    a[i][0]=A[i]
for i in range(K):
    b[K-1][i]=B[i]
for i in range(K-1):
    b[i][i+1]=INF
print(op(my_pow(b,N),a)[0][0])
0