Phép biến đổi vĩ đại
Đề bài
Mô tả
Cho một mảng gồm số nguyên. Bạn được phép thực hiện thao tác sau không hoặc nhiều lần:
- Chọn hai vị trí sao cho (hai giá trị phải khác nhau);
- Xoá đồng thời phần tử thứ và phần tử thứ khỏi mảng.
Sau mỗi thao tác, mảng ngắn đi phần tử và các phần tử còn lại giữ nguyên thứ tự tương đối.
Hãy tìm kích thước nhỏ nhất của mảng sau khi thực hiện một dãy thao tác tuỳ ý.
Ví dụ với và , ta có thể:
- Chọn (giá trị và ), mảng trở thành ;
- Chọn (giá trị và ), mảng trở thành ;
- Chọn (giá trị và ), mảng trở thành rỗng.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số bộ dữ liệu.
- Mỗi bộ dữ liệu gồm hai dòng:
- Dòng thứ nhất chứa số nguyên là độ dài mảng .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra trên một dòng kích thước nhỏ nhất có thể của mảng sau khi thực hiện các thao tác.
Ràng buộc
- Tổng trên tất cả các bộ dữ liệu không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 6 1 6 1 1 4 4 2 1 2 2 1 1 5 4 5 4 5 4 6 2 3 2 1 3 1 |
0 0 2 1 0 |
Bộ 1: xoá hết như mô tả ở trên. Bộ 2: hai giá trị khác nhau, xoá cả hai. Bộ 3: cả hai phần tử bằng nhau nên không có thao tác nào hợp lệ, giữ nguyên phần tử. Bộ 4: giá trị xuất hiện lần, giá trị xuất hiện lần; ghép hết với thì còn lại một số . Bộ 5: mỗi giá trị xuất hiện lần nên ghép hết được. |
| 1 12 2 2 2 2 4 4 4 4 6 6 6 6 |
0 | Ba giá trị mỗi giá trị xuất hiện lần. Không giá trị nào chiếm quá nửa mảng, và chẵn nên xoá được toàn bộ. |
Bình luận