結果
問題 |
No.1460 Max of Min
|
ユーザー |
|
提出日時 | 2021-03-21 16:02:49 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
RE
|
実行時間 | - |
コード長 | 869 bytes |
コンパイル時間 | 255 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 22,016 KB |
最終ジャッジ日時 | 2024-11-29 09:56:43 |
合計ジャッジ時間 | 11,337 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 3 RE * 86 TLE * 2 |
ソースコード
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])