trang chủ / bài tập / elephlcm

Chú voi con và LCM

Đề bài

Mô tả

Cho dãy số nguyên dương a1,a2,,an.

Xét một dãy số nguyên dương b1,b2,,bn. Gọi lcm(b1,,bn) là bội chung nhỏ nhất và max(b1,,bn) là giá trị lớn nhất của dãy b. Dãy b được gọi là tốt nếu:

lcm(b1,b2,,bn)=max(b1,b2,,bn).

Hãy đếm số dãy tốt b1,b2,,bn thoả mãn 1biai với mọi i (1in). Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho 109+7.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên dương n: số phần tử của dãy a.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

  • In ra một số nguyên duy nhất: số dãy tốt theo modulo 109+7.

Ràng buộc

  • 1n105
  • 1ai105

Ví dụ

Input Output Giải thích
4
1 4 3 2
15 Điều kiện dãy tốt tương đương: tồn tại một giá trị M sao cho mọi bi đều là ước của M và ít nhất một bi bằng M. Với ràng buộc b1=1, b24, b33, b42, có tất cả 15 dãy b thoả mãn.
2
6 3
13 6×3=18 cặp (b1,b2); trong đó 5 cặp không tốt (ví dụ (2,3) có lcm =63=max), còn lại 13 cặp tốt.

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