21.A2. CTDL> bài Quái Vật Sát Thủ
Quái Vật Sát Thủ
Trong một buổi huấn luyện chiến đấu, FullHouse Dev được giao nhiệm vụ mô phỏng một chiến trường với các quái vật. Họ cần theo dõi số lượng quái vật còn sống sót sau mỗi phút khi các quái vật mới xuất hiện và tấn công những quái vật yếu hơn.
Bài toán
Cho một mảng \(a\) chứa sức mạnh của \(n\) quái vật. Ban đầu chiến trường trống, mỗi phút \(i\), quái vật thứ \(i\) sẽ xuất hiện và tiêu diệt tất cả quái vật có sức mạnh nhỏ hơn hoặc bằng sức mạnh của nó. Nhiệm vụ của nhóm là xác định số lượng quái vật còn sống sau mỗi phút.
INPUT FORMAT:
- Dòng đầu tiên chứa số nguyên \(T\) - số lượng test case
- Với mỗi test case:
- Dòng đầu chứa số nguyên \(n\) - số lượng quái vật
- Dòng tiếp theo chứa \(n\) số nguyên - sức mạnh của từng quái vật
OUTPUT FORMAT:
- Với mỗi test case, in ra \(n\) số nguyên thể hiện số lượng quái vật còn sống sau mỗi phút
Ràng buộc:
- \(1 \leq T \leq 100\)
- \(1 \leq n \leq 10^5\)
- \(1 \leq a[i] \leq 10^9\)
Ví dụ:
INPUT
3
5
3 0 3 4 1
5
5 4 3 2 1
7
1 2 3 3 4 4 0
OUTPUT
1 2 1 1 2
1 2 3 4 5
1 1 1 1 1 1 2
Giải thích:
Với test case đầu tiên:
- Phút 1: Quái vật sức mạnh 3 xuất hiện → còn 1 quái vật
- Phút 2: Quái vật sức mạnh 0 xuất hiện → còn 2 quái vật (không ai bị tiêu diệt)
- Phút 3: Quái vật sức mạnh 3 xuất hiện, tiêu diệt quái vật sức mạnh 0 → còn 1 quái vật
- Phút 4: Quái vật sức mạnh 4 xuất hiện, tiêu diệt quái vật sức mạnh 3 → còn 1 quái vật
- Phút 5: Quái vật sức mạnh 1 xuất hiện → còn 2 quái vật (không ai bị tiêu diệt)
Comments