Bài 3. Đoạn con ngắn nhất (HSG 9 Hải Phòng 2023-2024)
Xem PDF
Điểm:
1400 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho dãy \(A\) có \(n\) số nguyên dương \(a_1, a_2, \ldots, a_n\) và số nguyên \(k\) (\(1 \le k \le n \le 10^6\)).
Yêu cầu: Tìm độ dài đoạn con ngắn nhất chứa đủ \(k\) phần tử mà số lượng ước của mỗi phần tử này là nhiều nhất trong dãy.
Input
- Dòng một gồm hai số nguyên dương \(n, k\).
- Dòng hai gồm \(n\) số nguyên dương \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 10^7, \forall i=\overline{1, n}\)).
- Các số nguyên trong tệp dữ liệu được ghi cách nhau ít nhất một dấu cách trống.
Output
- Ghi ra một số nguyên thỏa mãn yêu cầu, trường hợp không có đoạn con nào đủ \(k\) phần tử thỏa mãn yêu cầu thì ghi \(-1\).
Example
Test 1
Input
8 3
6 2 3 8 4 10 9 10
Output
5
Note
- Các phần tử có cùng số lượng ước nhiều nhất là \(6, 8, 10\) và \(10\) (cùng có \(4\) ước).
- Đoạn con ngắn nhất chứa đủ \(3\) phần tử có cùng số lượng ước nhiều nhất là đoạn \([4, 8]\) (từ vị trí thứ 4 đến vị trí thứ 😎 có độ dài là \(5\), gồm các phần tử thoả mãn là: \(8, 10\) và \(10\).
Scoring
- Subtask \(1\) (\(50\%\) số điểm): \(n \le 10^3, k \le 10^3, a_i \le 10^6\).
- Subtask \(2\) (\(30\%\) số điểm): \(n \le 10^5, k \le 10^4, a_i \le 10^6\).
- Subtask \(3\) (\(10\%\) số điểm): \(n \le 10^6, k \le 10^6, a_i \le 10^6\).
- Subtask \(4\) (\(10\%\) số điểm): Không có ràng buộc gì thêm.
Bình luận (1)