Điểm cố định
Đề bài
Mô tả
Cho một dãy số nguyên . Trong một thao tác, bạn có thể chọn một phần tử bất kỳ và xóa nó. Sau khi xóa, tất cả các phần tử bên phải bị dịch sang trái một vị trí, vì vậy không có "khoảng trống" nào trong dãy. Sau mỗi thao tác, độ dài dãy giảm đi 1 và chỉ số các phần tử được tính lại từ đầu.
Ví dụ, với , nếu chọn xóa thì dãy mới là , khi đó phần tử thứ 3 mới là và phần tử thứ 4 mới là .
Cho dãy và số . Hãy tìm số thao tác xóa tối thiểu sao cho trong dãy kết quả có ít nhất chỉ số thỏa (gọi là các "điểm cố định").
Dữ liệu vào
- Dòng đầu chứa số nguyên () — số bộ test.
- Mỗi bộ test gồm hai dòng:
- Dòng thứ nhất chứa hai số nguyên và ().
- Dòng thứ hai chứa số nguyên ().
- Tổng trên tất cả bộ test không vượt quá .
Dữ liệu ra
Với mỗi bộ test, in ra trên một dòng:
- nếu không có cách xóa nào thỏa mãn;
- ngược lại, in ra số nguyên () — số thao tác xóa tối thiểu để dãy kết quả có ít nhất điểm cố định.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 7 6 1 1 2 3 4 5 6 5 2 5 1 3 2 3 5 2 5 5 5 5 4 8 4 1 2 3 3 2 2 5 5 |
1 2 -1 2 |
Test 1: xóa phần tử đầu, dãy còn — có 6 điểm cố định. Test 2: xóa phần tử thứ 1 và 3 được , có 3 điểm cố định. Test 3: dãy toàn các giá trị trong khi cần với — không thể. Test 4: xóa hai phần tử thích hợp để được 4 điểm cố định. |
| 2 15 6 10 7 6 7 9 7 7 10 10 7 9 12 11 12 7 8 1 1 3 6 3 7 2 4 8 |
-1 0 |
Test 1: số phần tử bằng 1 quá ít, không thể đạt 6 điểm cố định. Test 2: dãy đã sẵn , không cần xóa. |
Bình luận