trang chủ / bài tập / bookpick

Chọn Sách Cùng Đọc

Đề bài

Mô tả

An và Bình muốn cùng đọc sách trước khi đi chơi. Thư viện có n cuốn sách. Cuốn sách thứ i được mô tả bằng ba số nguyên:

  • ti — thời gian cần để đọc xong cuốn sách đó (do cả hai cùng đọc chung).
  • ai — bằng 1 nếu An thích cuốn này, bằng 0 nếu không.
  • bi — bằng 1 nếu Bình thích cuốn này, bằng 0 nếu không.

Hãy chọn một tập con các cuốn sách (cùng dùng chung cho cả hai) sao cho:

  • Trong tập được chọn, có ít nhất k cuốn mà An thích.
  • Trong tập được chọn, có ít nhất k cuốn mà Bình thích.
  • Tổng thời gian đọc (tổng ti trên các cuốn được chọn) là nhỏ nhất.

Một cuốn sách vừa được An thích vừa được Bình thích sẽ được tính một lần cho mỗi người. In ra tổng thời gian đọc nhỏ nhất, hoặc 1 nếu không thể tìm được tập con thỏa mãn.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên nk.
  • n dòng tiếp theo, dòng thứ i chứa ba số nguyên ti, ai, bi.

Dữ liệu ra

In ra một số nguyên duy nhất: tổng thời gian đọc nhỏ nhất, hoặc 1 nếu không tồn tại tập con hợp lệ.

Ràng buộc

  • 1kn2·105
  • 1ti104
  • 0ai,bi1

Ví dụ

Input Output Giải thích
8 4
7 1 1
2 1 1
4 0 1
8 1 1
1 0 1
1 1 1
1 0 1
3 0 0
18 Chọn các cuốn 1,2,4,6: cả 4 đều được cả An và Bình thích. Tổng thời gian là 7+2+8+1=18.
5 2
6 0 0
9 0 0
1 0 1
2 1 1
5 1 0
8 Chọn cuốn 3 (Bình thích), cuốn 4 (cả hai thích), cuốn 5 (An thích). An thích 2 cuốn (4,5), Bình thích 2 cuốn (3,4). Tổng thời gian =1+2+5=8.
5 3
3 0 0
2 1 0
3 1 0
5 0 1
3 0 1
-1 Không có cuốn nào được cả hai cùng thích, mà An chỉ thích 2 cuốn (cần 3), nên không thể thỏa mãn yêu cầu.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0