Cắt dãy

Đề bài

Mô tả

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

Với một đoạn liên tiếp, ta nói đoạn đó hợp lệ nếu tích của tất cả các phần tử trong đoạn bằng bội chung nhỏ nhất (BCNN) của chúng. Điều này tương đương với việc mọi cặp phần tử trong đoạn đều nguyên tố cùng nhau (không chia sẻ ước nguyên tố chung nào).

Cho q truy vấn độc lập. Mỗi truy vấn gồm hai số l,r: hãy chia đoạn al,al+1,,ar thành ít nhất các đoạn con liên tiếp sao cho mỗi đoạn con đều hợp lệ. In ra số đoạn con nhỏ nhất cần thiết.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nq.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.
  • q dòng tiếp theo, mỗi dòng chứa hai số nguyên lr mô tả một truy vấn.

Dữ liệu ra

  • Với mỗi truy vấn, in ra trên một dòng số đoạn con nhỏ nhất.

Ràng buộc

  • 1n,q105
  • 1ai105
  • 1lrn

Ví dụ

Input Output Giải thích
6 3
2 3 10 7 5 14
1 6
2 4
3 5
3
1
2
Truy vấn 1 (cả dãy): chia thành [2], [3,10,7], [5,14] gồm 3 đoạn (một cách khác: [2,3], [10,7], [5,14]).
Truy vấn 2 (đoạn 2..4): [3,10,7] đã hợp lệ nên chỉ cần 1 đoạn.
Truy vấn 3 (đoạn 3..5): chia thành [10,7], [5] gồm 2 đoạn.
1 1
100000
1 1
1 Đoạn chỉ có một phần tử luôn hợp lệ.

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