trang chủ / đề bài / tg_ts10_25_e

Miền nguyên tố

Đề bài

Mô tả

Số nguyên tố là số nguyên dương lớn hơn 1 và chỉ có hai ước dương là 1 và chính nó. Ví dụ: 2,3,7,13 là các số nguyên tố còn 4,6,20 không là số nguyên tố.

Khôi đang học về số nguyên tố. Hôm nay, thầy giáo cho một dãy số nguyên dương A gồm n phần tử A1,A2,…,An và yêu cầu Khôi đếm số lượt đổi chỗ ít nhất các phần tử của dãy A để tất cả các số nguyên tố trong dãy được gom vào một miền liên tiếp. Mỗi lượt đổi chỗ chọn hai phần tử bất kỳ của dãy (không nhất thiết đứng cạnh nhau) và đổi chỗ chúng cho nhau.

Em hãy giúp Khôi tìm ra đáp án của bài toán nhé!

Dữ liệu vào

  • Dòng đầu chứa số nguyên dương n (1≤n≤105).
  • Dòng tiếp theo chứa n số nguyên dương A1,A2,…,An, giữa hai số cách nhau một khoảng trắng (1≤Ai≤109).

Dữ liệu ra

Một số nguyên duy nhất là số lượt đổi chỗ ít nhất để tất cả các số nguyên tố trong dãy nằm trong một miền liên tiếp. Nếu các số nguyên tố đã nằm liên tiếp nhau (hoặc dãy không có số nguyên tố nào) thì in ra 0.

Ràng buộc

  • 1≤n≤105.
  • 1≤Ai≤109.

Subtasks

  • Có 50% số test có n≤103, Ai≤103.
  • Có 30% số test có n≤104, Ai≤105.
  • Có 20% số test có giới hạn như trong đề.

Ví dụ

Input Output Giải thích
6
10 2 3 6 78 5
1 Đổi chỗ số 6 và số 5 để các số nguyên tố 2,3,5 được gom vào một miền duy nhất.
8
2 1 4 3 1 5 7 9
1 Các số 1, 4, 9 không là số nguyên tố. Đổi chỗ số 2 (vị trí 1) và số 1 (vị trí 5) được dãy 1,1,4,3,2,5,7,9.
3
1 4 9
0 Dãy không có số nguyên tố nào.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0