結果
問題 |
No.568 じゃんじゃん 落とす 委員会
|
ユーザー |
|
提出日時 | 2023-06-13 20:26:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 338 ms / 1,000 ms |
コード長 | 642 bytes |
コンパイル時間 | 467 ms |
コンパイル使用メモリ | 82,568 KB |
実行使用メモリ | 95,828 KB |
最終ジャッジ日時 | 2024-06-22 06:26:45 |
合計ジャッジ時間 | 7,684 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 |
ソースコード
N, M = map(int, input().split()) X, C, W = [], [0] * 6, 10 ** 5 + 10 A, B = [[] for _ in range(W)], [[] for _ in range(W)] for R in range(N): u, a, b = map(int,input().split()) X.append(u + 1) C[u + 1] += 1 A[a].append(R) B[b].append(R) SA, SB = 0, W ANS = W while True: if SA >= W: break if sum(C[2:]) >= M and sum(C[3:]) < ANS: ANS = sum(C[3:]) for R in A[SA]: C[X[R]] -= 1 X[R] -= 1 C[X[R]] += 1 SA += 1 while SB > 0 and sum(C[2:]) < M: SB -= 1 for T in B[SB]: C[X[T]] -= 1 X[T] += 1 C[X[T]] += 1 print(ANS)