nhất (doanconnn.*)
Cho dãy \(A\) có \(n\) số nguyên dương \(a_{1},a_{2},\ldots,a_{n}\) và số nguyên \(k\) \((1 \leq k \leq \ n \leq 10^{6})\).
Yêu cầu: Viết chương trình tìm đoạn con ngắn nhất có chứa đủ \(k\) phần tử mà số lượng ước của nó là nhiều nhất trong dãy.
Dữ liệu:
+ Dòng một chứa hai số nguyên dương \(n,k\);
+ Dòng thứ hai chứa\(\ n\) số nguyên dương \(a_{1},a_{2},\ldots,a_{n}\ (1 \leq a_{i} \leq 10^{7},\ \ \forall i = \overline{1;n})\).
Kết quả:
+ Ghi một số nguyên thoả mãn yêu cầu, trường hợp không có đoạn con nào đủ \(k\) phần tử thoả mãn yêu cầu thì ghi \(- 1\).
Ví dụ:
Input | Output |
---|---|
8 2 2 6 3 4 8 10 9 10 | 2 |
Giải thích:
- Các phần tử có cùng số lượng ước nhiều nhất là 6, 8 và 10 (cùng có 4 ước)
- Đoạn con ngắn nhất chứa đủ 2 phần tử thoả mãn yêu cầu là đoạn [5, 6] có giá trị 8, 10 độ dài là 2.
Ràng buộc:
\(50\%\) số test tương ứng với \(50\%\) số điểm có \(n \leq 10^{3},\ k \leq 10^{3},\ a_{i} \leq 10^{6}\);
\(30\%\) số test tương ứng với \(30\%\) số điểm có n \(\leq 10^{5},\ k\ \leq 10^{4}{,\ a}_{i} \leq 10^{6}\);
\(10\%\) số test tương ứng với \(10\%\) số điểm có n \(\leq 10^{6},\ k\ \leq 10^{6}{,\ a}_{i} \leq 10^{6}\);
\(10\%\) số test tương ứng với \(10\%\) số điểm không có ràng buộc gì.
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: 38905 |