結果
問題 |
No.110 しましまピラミッド
|
ユーザー |
![]() |
提出日時 | 2025-03-28 00:56:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 39 ms / 5,000 ms |
コード長 | 1,226 bytes |
コンパイル時間 | 413 ms |
コンパイル使用メモリ | 82,196 KB |
実行使用メモリ | 53,980 KB |
最終ジャッジ日時 | 2025-03-28 00:57:02 |
合計ジャッジ時間 | 2,801 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 |
ソースコード
Nw = int(input()) W = list(map(int, input().split())) Nb = int(input()) B = list(map(int, input().split())) W.sort() B.sort() W2 = W[:] B2 = B[:] # 一番下が白のパターン(w -> b) ans1 = [100] while True: while W2: w_target = W2.pop() if w_target < ans1[-1]: # 採用して、黒にターンを回す ans1.append(w_target) break else: # 空なら抜ける break while B2: b_target = B2.pop() if b_target < ans1[-1]: # 採用して、白にターンを回す ans1.append(b_target) break else: # 空なら抜ける break # 一番下が黒のパターン(b -> w) ans2 = [100] while True: while B: b_target = B.pop() if b_target < ans2[-1]: # 採用して、白にターンを回す ans2.append(b_target) break else: # 空なら抜ける break while W: w_target = W.pop() if w_target < ans2[-1]: # 採用して、黒にターンを回す ans2.append(w_target) break else: # 空なら抜ける break ans = max(len(ans1), len(ans2)) - 1 print(ans)