結果

問題 No.110 しましまピラミッド
ユーザー rpy3cpp
提出日時 2015-07-16 22:38:09
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 31 ms / 5,000 ms
コード長 696 bytes
コンパイル時間 189 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-12-31 11:11:13
合計ジャッジ時間 2,074 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

def solve(Bs, Ws, Nb, Nw):
    depth = 1
    idxW = 0
    idxB = 0
    while True:
        while Bs[idxB] >= Ws[idxW]:
            idxB += 1
            if idxB == Nb:
                return depth
        depth += 1
        while Ws[idxW] >= Bs[idxB]:
            idxW += 1
            if idxW == Nw:
                return depth
        depth += 1

Nw = int(input())
Ws = list(set(map(int, input().split())))
Nb = int(input())
Bs = list(set(map(int, input().split())))
Ws.sort(reverse=True)
Bs.sort(reverse=True)
if Bs[0] > Ws[0]:
    Bs, Ws = Ws, Bs
Nb = len(Bs)
Nw = len(Ws)
if Bs[0] == Ws[0]:
    print(max(solve(Bs, Ws, Nb, Nw), solve(Ws, Bs, Nw, Nb)))
else:
    print(solve(Bs, Ws, Nb, Nw))
0