12.A2. CTDL&GT bài Đội ngũ đa dạng bình đẳng


LÀM BÀI

Points: 10
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Đội ngũ đa dạng bình đẳng

Trong một buổi thảo luận về thuật toán, FullHouse Dev được giới thiệu một bài toán thú vị liên quan đến việc phân chia nhóm. Họ quyết định lập trình một giải pháp để giúp Alice, một giáo viên, trong việc tổ chức lớp học của mình. Với sự hỗ trợ của máy tính, FullHouse Dev bắt đầu phân tích vấn đề này.

Bài toán

Alice có \(n\) học sinh trong lớp, được đánh số từ \(1\) đến \(n\). Học sinh thứ \(i\) có chuyên môn trong môn học được đánh số \(a_i\). Alice cần chia học sinh thành hai đội. Tính đa dạng của một đội được định nghĩa là số lượng môn học khác nhau mà có ít nhất một học sinh trong đội có chuyên môn. Alice muốn phân chia học sinh sao cho mỗi học sinh thuộc đúng một đội và tính đa dạng của mỗi đội đều bằng \(k\). Liệu Alice có thể thực hiện được điều này không?

INPUT FORMAT:
  • Dòng đầu tiên chứa một số nguyên \(T\) - số lượng bộ test.
  • Với mỗi bộ test:
    • Dòng đầu tiên chứa hai số nguyên \(n\) và \(k\).
    • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, ..., a_n\).
OUTPUT FORMAT:
  • Với mỗi bộ test, in ra "YES" nếu Alice có thể chia đội thỏa mãn điều kiện, ngược lại in ra "NO".
Ràng buộc:
  • \(1 \leq T \leq 10^5\)
  • \(1 \leq n \leq 2 \times 10^5\)
  • \(1 \leq k \leq n\)
  • \(1 \leq a_i \leq n\)
Ví dụ
INPUT
2
6 2
1 4 4 6 2 1
4 2
1 1 1 1
OUTPUT
YES
NO
Giải thích
  • Ở bộ test đầu tiên, Alice có thể đặt học sinh thứ tư và thứ năm vào đội một, và những học sinh còn lại vào đội hai. Khi đó, chuyên môn của các đội sẽ là \({6, 2}\) và \({1, 4, 1}\). Cả hai đội đều có tính đa dạng là 2.
  • Ở bộ test thứ hai, không thể chia học sinh thành hai đội có tính đa dạng bằng 2.

Comments

There are no comments at the moment.

Zalo