#STK0000076. Phần tử có tần suất lớn hơn tiếp theo (Next Greater Frequency)
Phần tử có tần suất lớn hơn tiếp theo (Next Greater Frequency)
Phần tử có tần suất lớn hơn tiếp theo (Next Greater Frequency)
Nguồn: Baekjoon Online Judge
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho dãy . Gọi là số lần giá trị xuất hiện trong toàn bộ dãy. Với mỗi vị trí , hãy tìm phần tử đầu tiên ở bên phải sao cho . Nếu không tồn tại, kết quả là .
Input
Dòng đầu chứa số nguyên . Dòng thứ hai chứa số nguyên .
Output
In giá trị. Giá trị thứ là phần tử có tần suất lớn hơn tiếp theo của , hoặc nếu không có.
Subtask
- Subtask 1 (30 điểm): ; các điều kiện khác giữ nguyên.
- Subtask 2 (70 điểm): , .
Ví dụ
Input
7
1 1 2 3 4 2 1
Output
-1 -1 1 2 2 1 -1
Giải thích
Trước hết đếm số lần xuất hiện trong toàn bộ dãy:
- ;
- ;
- ;
- .
Xét từng vị trí:
- Hai số đầu tiên có tần suất , là tần suất lớn nhất trong dãy, nên đều nhận .
- Với số ở vị trí , các số phía sau có tần suất không lớn hơn ; số cuối có tần suất , nên nhận .
- Với số ở vị trí , số kế tiếp cũng chỉ có tần suất , còn số sau đó có tần suất , nên nhận .
- Với số ở vị trí , số ngay sau có tần suất , nên nhận .
- Với số ở vị trí , số cuối có tần suất , nên nhận .
- Số cuối cùng không có phần tử phía sau, nên nhận .
Kết quả là -1 -1 1 2 2 1 -1.