[Buổi 15][STL][ADV] Bài 2: Giá Kẹo (NEW)
Giá Kẹo (NEW)
Bối cảnh
FullHouse Dev là một nhân viên bán hàng. Anh được giao bán hai loại kẹo tại N thành phố khác nhau.
Yêu cầu
Để giá của các loại kẹo là hợp lệ, sếp của FullHouse Dev đã đặt ra điều kiện sau:
Mỗi loại kẹo phải có giá khác nhau ở tất cả N thành phố. Vì quá hào hứng, FullHouse Dev đã ghi giá của cả hai loại kẹo trên cùng một trang và theo thứ tự ngẫu nhiên thay vì ghi chúng trên các trang khác nhau. Giờ đây, anh cần sự giúp đỡ của bạn để xác định liệu các giá mà anh đã ghi có hợp lệ hay không.
Bạn được cung cấp một mảng A có kích thước 2N. Hãy tìm xem liệu có thể chia A thành hai mảng, mỗi mảng có độ dài N, sao cho cả hai mảng đều có các phần tử khác nhau.
Hai mảng có thể có các phần tử khác nhau chỉ nếu không có phần tử nào trong mảng gốc lặp lại nhiều hơn hai lần.
Input
Dòng đầu tiên chứa một số nguyên T, biểu thị số lượng test case. Mỗi test case bao gồm hai dòng đầu vào. Dòng đầu tiên của mỗi test case chứa một số nguyên N, biểu thị số thành phố. Dòng thứ hai chứa 2N số nguyên cách nhau bằng dấu cách A1,A2,…,A[2N] - các phần tử của mảng A.
Output
Với mỗi test case, xuất kết quả trên một dòng mới — Yes nếu mảng cho trước đại diện cho danh sách giá hợp lệ, và No nếu không.
Ràng buộc
1≤ T ≤ 10^3 1≤ N ≤ 10^3 1≤ A[i] ≤ 10^9
Tổng của N trên tất cả các test case không vượt quá 2⋅10^3
Ví dụ 1
Input
2
3
4 8 4 6 7 3
3
4 8 6 8 7 8
Output
Yes
No
Giải thích ví dụ
Test case 1: Một cách hợp lệ để phân bổ giá là như sau:
- Loại kẹo đầu tiên có giá 4 ở thành phố 1, 6 ở thành phố 2, và 8 ở thành phố 3.
- Loại kẹo thứ hai có giá 4 ở thành phố 1, 3 ở thành phố 2, và 7 ở thành phố 3.
Vì có một phân bổ hợp lệ, nên kết quả là "Yes".
Test case 2: Không có tập hợp giá hợp lệ nào có thể tạo ra mảng này, vì 8 sẽ bị lặp lại ở đâu đó. Kết quả là "No".
Thông tin học tập
- Buổi: B15
- Concepts: map/set, frequency counting
- Giới hạn kiến thức: B01-B15
- Time limit: 2 seconds
- Memory limit: 20 MB
- Point: 25
Comments