結果

問題 No.568 じゃんじゃん 落とす 委員会
ユーザー 👑 hahhohahho
提出日時 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
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 332 ms
109,308 KB
testcase_01 AC 331 ms
109,568 KB
testcase_02 AC 85 ms
83,616 KB
testcase_03 AC 68 ms
75,264 KB
testcase_04 AC 70 ms
76,292 KB
testcase_05 AC 81 ms
75,524 KB
testcase_06 AC 86 ms
83,584 KB
testcase_07 AC 71 ms
75,416 KB
testcase_08 AC 64 ms
73,216 KB
testcase_09 AC 67 ms
75,520 KB
testcase_10 AC 68 ms
75,008 KB
testcase_11 AC 69 ms
76,160 KB
testcase_12 AC 317 ms
108,416 KB
testcase_13 AC 506 ms
109,832 KB
testcase_14 AC 408 ms
108,928 KB
testcase_15 AC 550 ms
111,364 KB
testcase_16 AC 385 ms
108,644 KB
testcase_17 AC 315 ms
107,748 KB
testcase_18 AC 495 ms
110,044 KB
testcase_19 AC 411 ms
109,256 KB
testcase_20 AC 317 ms
108,032 KB
testcase_21 AC 546 ms
110,572 KB
testcase_22 AC 358 ms
109,788 KB
testcase_23 AC 68 ms
75,136 KB
testcase_24 AC 68 ms
75,264 KB
testcase_25 AC 68 ms
76,160 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

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()))
0