Submit solution
Points:
1.04 (partial)
Time limit:
10.2s
Memory limit:
512M
Input:
stdin
Output:
stdout
Problem source:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Phân người vào các nhóm sao cho nhóm có nhiều người nhất có số lượng người ít nhất có thể.
Input
Có không quá ~20~ test. Dòng đầu mỗi test là hai số ~N,M~: ~N~ số người, ~M~ số nhóm.
~N~ dòng tiếp theo, đầu tiên là tên người, sau đó là danh sách các nhóm mà người đó có thể được phân vào ~\left(1 \leq N \leq 1000;\text{ } M \leq 500\right)~.
Tên người chỉ gồm kí tự chữ cái và có độ dài không quá ~15~ , không có ~2~ người trùng tên. Mã nhóm đánh số từ ~0~ cho đến ~M-1~.
Kết thúc test là hai số ~0~ ~0~.
Output
Hiện ra số người của nhóm mà nhiều người nhất mà thỏa mãn điều kiện trên.
Sample Input
3 2
John 0 1
Rose 1
Mary 1
5 4
ACM 1 2 3
ICPC 0 1
Asian 0 2 3
Regional 1 2
ShangHai 0 2
0 0
Sample Output
2
2
Comments