Cải thiện mảng

Đề bài

Mô tả

Cho một mảng gồm n số nguyên dương a1,a2,,an và một tập hợp gồm m số nguyên tố xấu b1,b2,,bm. Mọi số nguyên tố không nằm trong tập này được gọi là tốt.

Định nghĩa hàm f(s) như sau:

  • f(1)=0;
  • Với s>1, phân tích s thành thừa số nguyên tố. Khi đó f(s) bằng (số thừa số nguyên tố tốt, tính cả bội) trừ đi (số thừa số nguyên tố xấu, tính cả bội).

Nói cách khác, mỗi lần một số nguyên tố tốt xuất hiện trong phân tích của s thì cộng 1, mỗi lần một số nguyên tố xấu xuất hiện thì trừ 1.

Độ đẹp của mảng a là tổng f(a1)+f(a2)++f(an).

Bạn được phép thực hiện một số lần tùy ý (có thể bằng 0) thao tác sau để cải thiện mảng:

  • Chọn một chỉ số r (1rn), tính g=gcd(a1,a2,,ar).
  • Thay mỗi ai (với 1ir) bằng ai/g.

Hãy tìm độ đẹp lớn nhất của mảng mà bạn có thể đạt được. Lưu ý đáp án có thể là số âm.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.
  • Dòng thứ ba chứa m số nguyên b1<b2<<bm, tập các số nguyên tố xấu.

Dữ liệu ra

  • In ra một số nguyên duy nhất, độ đẹp lớn nhất đạt được.

Ràng buộc

  • 1n,m5000
  • 1ai109
  • 2b1<b2<<bm109, tất cả bi đều là số nguyên tố.

Ví dụ

Input Output Giải thích
5 2
4 20 34 10 10
2 5
-2 Các số nguyên tố xấu là 25. Bằng cách chọn khéo các tiền tố để chia cho ước chung lớn nhất (loại bỏ bớt các thừa số 25), độ đẹp lớn nhất đạt được là 2.
4 5
2 4 8 16
3 5 7 11 17
10 Số nguyên tố 2 là tốt (không nằm trong tập xấu), nên không nên chia gì cả. Độ đẹp ban đầu f(2)+f(4)+f(8)+f(16)=1+2+3+4=10.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0