結果
| 問題 |
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)