結果
問題 | No.568 じゃんじゃん 落とす 委員会 |
ユーザー |
👑 ![]() |
提出日時 | 2024-08-06 19:30:16 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 550 ms / 1,000 ms |
コード長 | 909 bytes |
コンパイル時間 | 544 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 111,364 KB |
最終ジャッジ日時 | 2024-08-06 19:30:25 |
合計ジャッジ時間 | 8,536 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 |
ソースコード
L = 100001 n,m = map(int,input().split()) people = [tuple(map(int,input().split())) for _ in range(n)] by_a = [[] for _ in range(L)] by_b = [[] for _ in range(L)] for x,a,b in people: by_a[a].append((x, b)) by_b[b].append((x, a)) def it(): c0 = sum(int(x >= 1) for x, a, b in people) c1 = sum(int(x >= 2) for x, a, b in people) sa = 0 sb = L while sa <= L: if sa > 0: for x, b in by_a[sa-1]: x += int(b>=sb) if x == 1: c0 -= 1 elif x == 2: c1 -= 1 while c0 < m and 0 < sb: sb -= 1 for x, a in by_b[sb]: x += int(a>=sa) if x == 1: c0 += 1 elif x == 2: c1 += 1 if c0 < m: return yield c1 sa += 1 print(min(it()))