TÌM ĐOẠN CON NGẮN NHẤT

nhất (doanconnn.*)

Cho dãy \(A\)\(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ì.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. trungnam (6/7)
  2. sythai (5/8)
  3. npk1605 (5/10)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]