Điểm:
100
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho một hoán vị 𝑃 = (𝑝1; 𝑝2; … ; 𝑝𝑛) của tập hợp {1; 2; … ; 𝑛} và một số nguyên 𝐾.
Với mỗi số nguyên 𝑖 = 𝐾; 𝐾 + 1; … ; 𝑛, hãy in ra giá trị lớn thứ 𝐾 trong dãy con (𝑝1; … ; 𝑝𝑖).
Chú ý: Giá trị lớn thứ 𝐾 trong một dãy là giá trị ở vị trí thứ 𝐾 (đánh số vị trí từ 1) của dãy sau khi đã được sắp xếp giảm dần. Ví dụ, với dãy (1; 3; 2); 𝐾 = 3; sau khi sắp xếp giảm dần, dãy trở thành (3; 2; 1), giá trị lớn thứ 3 của dãy là 1.
Dữ liệu
- Dòng 1: chứa hai số nguyên 𝑛, 𝐾 (1 ≤ 𝐾 ≤ 𝑛 ≤ 500 000);
- Dòng 2: chứa 𝑛 số nguyên 𝑝1, 𝑝2, … , 𝑝𝑛 là một hoán vị của {1; 2; … ; 𝑛}.
Kết quả
- Ghi trên 𝑛 − 𝐾 + 1 dòng, mỗi dòng là câu trả lời tương ứng với 𝑖 = 𝐾, 𝐾 + 1, … , 𝑛.
Giới hạn
- Subtask 1: 18% số điểm có 𝑛 = 2;
- Subtask 2: 22% số điểm có 𝑝1 > 𝑝2 > ⋯ > 𝑝𝑛;
- Subtask 3: 20% số điểm có 𝑛 ≤ 1000;
- Subtask 4: 25% số điểm có 𝑛 ≤ 8000;
- Subtask 5: 15% số điểm còn lại không có thêm ràng buộc bổ sung.
Ví dụ
Test 1
Input
2 1
1 2
Output
1
2
Note
- Với i=1, giá trị lớn thứ nhất trong dãy (1) là 1;
- Với i=2, giá trị lớn thứ nhất trong dãy(1; 2) là 2.
Test 2
Input
3 2
1 3 2
Output
1
2
Note
- Với i=2, giá trị lớn thứ hai trong dãy (1; 3) là 1;
- Với i=3, giá trị lớn thứ hai trong dãy (1; 3; 2) là 2;
Test 3
Input
3 1
1 3 2
Output
1
3
3
Note
- Với i=1, giá trị lớn thứ nhất trong dãy (1) là 1;
- Với i=2, giá trị lớn thứ nhất trong dãy (1; 3) là 3;
- Với i=3, giá trị lớn thứ nhất trong dãy (1; 3; 2) là 3;
Bình luận