Một dãy núi gồm \(n\) đỉnh nằm liên tiếp từ trái sang phải; đỉnh \(i\) có độ cao \(H_i\) và đang giam giữ đúng một cảnh sát. Người dơi muốn băng qua dãy núi và giải cứu càng nhiều cảnh sát càng tốt: cảnh sát ở đỉnh nào được giải cứu khi anh đặt chân lên đỉnh đó.
Quy tắc:
- Anh có thể chọn đỉnh xuất phát tuỳ ý.
- Bước nhảy thông thường: từ đỉnh \(i\) sang đỉnh \(j\) với \(j > i\) (không giới hạn khoảng cách) và \(H_j < H_i\) (thấp hơn hẳn).
- Đỉnh \(m\) có một chiếc móc câu. Khi anh đứng trên đỉnh \(m\), anh được dùng nó một lần để nhảy tới đỉnh \(j\) bất kỳ với \(j > m\), bất kể độ cao. Sau bước nhảy đó, anh tiếp tục với bước nhảy thông thường như cũ.
- Anh có thể kết thúc hành trình ở bất kỳ đỉnh nào.
Tìm số cảnh sát lớn nhất có thể giải cứu.
Input
- Dòng đầu chứa số nguyên \(T\) là số bộ test.
- Mỗi bộ test gồm hai dòng:
- Dòng thứ nhất chứa hai số nguyên \(n\) và \(m\) (\(1 \le m \le n\)).
- Dòng thứ hai chứa \(n\) số nguyên \(H_1, \dots, H_n\).
Output
Với mỗi bộ test in ra một số nguyên là số cảnh sát tối đa.
Constraints
- \(1 \le T \le 5\)
- \(1 \le n \le 10^5\)
- \(0 \le H_i \le 10^{18}\)
Sample Input
2
9 5
7 9 6 8 5 3 10 4 2
4 1
3 3 3 3
Sample Output
6
2
Explanation
Bộ test 1: đi \(9 \to 8 \to 5\) (đỉnh \(5\) có móc câu), dùng móc câu nhảy tới đỉnh \(7\) (cao \(10\)), rồi nhảy xuống \(4\), \(2\). Tổng cộng \(6\) đỉnh.
Bộ test 2: xuất phát ở đỉnh \(1\) (có móc câu), dùng móc câu nhảy sang một đỉnh khác, tổng cộng \(2\) đỉnh (các đỉnh cao bằng nhau nên không nhảy thường được).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.