Chọn ĐTQG Hà Nội 2026 - Dãy hoàn hảo
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Cho một dãy số nguyên dương gồm ~N~ số ~a_1,a_2,\dots,a_N~. Dãy số được gọi là hoàn hảo nếu phần tử có giá trị ~a_i~ xuất hiện đúng ~a_i~ lần trong dãy số đó ~(1 \le i \le N)~.
Yêu cầu: Tìm cách xoá tối đa một phần tử của dãy số ban đầu để dãy số trở thành dãy số hoàn hảo.
Input
Dòng đầu tiên chứa số nguyên dương ~N~ ~(1 \le N \le 10^5)~;
Dòng thứ hai chứa ~N~ số nguyên dương ~a_1,a_2,\dots,a_N~ ~(1 \le a_i \le 10^5)~.
Output
Một số nguyên là một trong những trường hợp sau:
Nếu dãy ban đầu đã là dãy hoàn hảo, in ra ~0~;
Nếu dãy ban đầu không là dãy hoàn hảo và cần xoá đi một phần tử để trở thành dãy hoàn hảo, in ra giá trị phần tử cần xoá;
Nếu không thể biến đổi thành dãy hoàn hảo, in ra ~-1~.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~80\%~ | ~N \le 1000~ |
| 2 | ~20\%~ | Không có ràng buộc thêm |
Sample Input 1
4
3 1 3 3
Sample Output 1
0
Sample Input 2
4
3 2 3 3
Sample Output 2
2
Sample Input 3
5
3 1 1 3 3
Sample Output 3
1
Sample Input 4
5
3 4 4 3 3
Sample Output 4
-1
Notes
Trong ví dụ thứ nhất, dãy đã cho là dãy hoàn hảo vì có ~1~ phần tử có giá trị ~1~ và ~3~ phần tử có giá trị ~3~.
Trong ví dụ thứ hai, xoá một phần tử có giá trị ~2~ thì dãy số trở thành ~[3,3,3]~ là dãy hoàn hảo.
Trong ví dụ thứ ba, xóa một phần tử có giá trị ~1~ thì dãy số trở thành ~[3,1,3,3]~ là dãy hoàn hảo.
Trong ví dụ thứ tư, không thể biến đổi thành dãy hoàn hảo.
Bình luận