Trại hè Hùng Vương 2023 - Đoạn nguyên tố

Xem dạng PDF

Gửi bài giải

Điểm: 20,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Người đăng:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho một dãy số nguyên dương ~A = (a_1, a_2, ..., a_n)~ (~a_i \le 10^6; 1 \le i \le n~). Với mỗi phần tử ~a_i~ bạn được phép tăng hoặc giảm một lượng tùy ý để được một số nguyên tố. Khi đó chi phí của bạn cần bỏ ra chính là lượng tăng hoặc giảm đó.

Yêu cầu: Hãy chọn ra một đoạn con gồm ~k~ phần tử liên tiếp nhau của dãy ~A~ sao cho tổng chi phí biến đổi mọi phần tử trong đoạn con đó thành các số nguyên tố là nhỏ nhất.

Input

  • Dòng 1: Chứa hai số nguyên dương ~n, k~ (~1 \le k \le n \le 10^5~).
  • Dòng 2: Chứa ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~a_i \le 10^6, \forall i = 1, 2, ..., n~).

Output

  • Một số nguyên duy nhất là tổng chi phí biến đổi nhỏ nhất tìm được.

Sample Input 1

4 2
9 5 8 15

Sample Output 1

1

Giải thích ví dụ

Chọn đoạn ~[5, 8]~, biến đổi ~8 \to 7~ với chi phí là ~1~.

Subtasks

  • Subtask 1: ~20~ điểm — ~a_i~ đều là số nguyên tố ~ \forall i = 1, 2, ..., n~.
  • Subtask 2: ~40~ điểm — ~n, k \le 5000; a_i \le 5000, \forall i = 1, 2, ..., n~.
  • Subtask 3: ~40~ điểm — Không có ràng buộc bổ sung.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.