結果
問題 | No.2182 KODOKU Stone |
ユーザー |
![]() |
提出日時 | 2022-09-15 16:05:42 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 954 bytes |
コンパイル時間 | 454 ms |
コンパイル使用メモリ | 82,340 KB |
実行使用メモリ | 105,320 KB |
最終ジャッジ日時 | 2024-11-14 12:02:36 |
合計ジャッジ時間 | 6,534 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 15 WA * 20 RE * 2 |
ソースコード
# WA(?)import sysinput = sys.stdin.readlineN = int(input())K = list(map(int, input().split()))T = [0] * NA = [[] for _ in [0] * N]st = set([])ma1, ma2 = 0, 0for i in range(N):T[i] = int(input())A[i] = list(map(int, input().split()))st |= set(A[i])lis = sorted(A[i], reverse = True)id1 = min(K[-1], len(lis)) - 1id2 = max(id1 - 1, 0)ma1 = max(ma1, lis[id1])ma2 = max(ma2, lis[id2])if(ma1 == ma2):lis = sorted(st, reverse = True)ma1 = lis[1]def check(md):slis = []wild = []for lis in A:s = sum((k >= md) for k in lis)if(s == len(lis)):wild.append(s)else:slis.append(s)wild.sort(reverse = True)slis.sort()for i, k in enumerate(K[::-1]):s = slis[-1] if(slis) else -1w = wild[0] if(wild) else -1if(max(s, w) >= k):breakelif(s == k - 1 and i < N - 1):slis.pop()elif(wild):wild.pop()else:return Falsereturn Trueans = ma1if check(ma2):ans = ma2print(ans)