trang chủ / đề bài / dhbb23_hlk_10_a

Số 0 tận cùng

Đề bài

Mô tả

Chú gấu Tommy là một chú gấu rất dễ thương. Một ngày nọ chú đến trường và được thầy dạy về những con số nguyên tố. Chú và các bạn vô cùng thích thú và lao vào tìm hiểu chúng. Thế nhưng, càng tìm hiểu sâu chú lại càng gặp phải những bài toán khó về số nguyên tố. Hôm nay thầy giao cho cả lớp một bài toán khó và yêu cầu cả lớp ai làm nhanh nhất sẽ được thầy cho bánh. Vì thế, để có bánh ăn, Tommy phải giải bài toán nhanh nhất có thể. Bài toán như sau:

Cho dãy n số nguyên dương x1,x2,…,xn và m truy vấn, mỗi truy vấn được cho bởi hai số nguyên li,ri. Cho một hàm f(p) trả về số lượng các số xk (1≤k≤n) là bội của p (các số xk bằng nhau ở các vị trí khác nhau được đếm riêng). Câu trả lời cho truy vấn li,ri là tổng

∑p∈S(li,ri)f(p)

trong đó S(li,ri) là tập các số nguyên tố trong đoạn [li,ri] (tính cả hai đầu mút). Nếu đoạn không chứa số nguyên tố nào thì câu trả lời là 0.

Bạn hãy giúp chú gấu Tommy giải bài toán này nhé!

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n (1≤n≤105).
  • Dòng thứ hai chứa n số nguyên dương x1,x2,…,xn (2≤xi≤107).
  • Dòng thứ ba chứa số nguyên m (1≤m≤50000).
  • Mỗi dòng thứ i trong m dòng tiếp theo chứa hai số nguyên li,ri ngăn cách bởi một dấu cách (2≤li≤ri≤2·109).

Dữ liệu ra

Gồm m dòng, mỗi dòng ghi một số nguyên là câu trả lời cho một truy vấn, theo thứ tự trong dữ liệu vào.

Ràng buộc

  • 1≤n≤105.
  • 2≤xi≤107.
  • 1≤m≤50000.
  • 2≤li≤ri≤2·109.

Subtasks

Điểm được tính theo từng test.

  • Subtask 1 (30% số test): n,m≤2·103, 2≤li≤ri≤103.
  • Subtask 2 (30% số test): n,m≤2·103, 2≤li≤ri≤106.
  • Subtask 3 (40% số test): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
6
5 5 7 10 14 15
3
2 11
3 12
4 4
9
7
0
Truy vấn 1: l=2,r=11, cần tính f(2)+f(3)+f(5)+f(7)+f(11)=2+1+4+2+0=9.
Truy vấn 2: l=3,r=12, cần tính f(3)+f(5)+f(7)+f(11)=1+4+2+0=7.
Truy vấn 3: l=4,r=4, không có số nguyên tố nào.
4
8 9 9 9999991
3
2 3
4 2000000000
10000000 2000000000
3
1
0
Ví dụ bổ sung (không có trong đề gốc). f(2)=1 (số 8 chỉ được đếm một lần), f(3)=2 (hai số 9 đều được đếm), nên truy vấn 1 có đáp án 3.
Truy vấn 2: chỉ có số nguyên tố 9999991 chia hết một số trong dãy.
Truy vấn 3: mọi số nguyên tố trong đoạn đều lớn hơn mọi xk.

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