Ở một ngôi làng nọ, trên một con đường (được xem như một đường thẳng), có \(n\) cây gỗ quý được đánh số theo thứ tự lần lượt từ 1 đến \(n\) và có giá trị lần lượt là \(a_{1},\ a_{2},\ldots\ a_{n}\). Sau khi tính toán, trưởng làng đã quyết định khai thác (lấy gỗ) các cây gỗ đó. Tuy nhiên, sau khi khai thác trưởng làng muốn giữ lại một số cây để làm bóng mát cho con đường thỏa mãn các điều kiện sau:
+ Cây thứ \(k\) phải được giữ lại.
+ Các cây có số thứ tự lớn hơn phải có giá trị lớn hơn.
+ Số lượng cây giữ lại là nhiều nhất có thể.
Ví dụ: 7 cây có giá trị tương ứng là 3 7 2 8 6 9 5 thì ta giữ lại các cây có giá trị là 3 7 8 9 (với k=1)
Yêu cầu: Hãy giúp trưởng làng thực hiện điều đó.
Dữ liệu vào:
+ Dòng thứ nhất chứa số nguyên dương \(n\) và \(k\) \((k \leq n \leq 10^{4})\).
+ \(n\) dòng tiếp theo, dòng thứ \(i\) chứa số nguyên dương \(a_{i}\) \((a_{i} \leq 10^{9};\ i = 1,2,\ldots n)\).
Kết quả:
Một số nguyên dương duy nhất là số lượng cây giữ lại nhiều nhất thỏa mãn các yêu cầu trên.
Ví dụ:
Input | Output |
7 1 3 7 2 8 6 9 5 | 4 |
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38907 |