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