Đếm Số Bằng GCD Trên Đoạn

Xem dưới dạng PDF

Gửi bài giải


Điểm: 20
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Bình có một dãy số nguyên dương. Với mỗi truy vấn \((l, r)\), Bình muốn đếm xem có bao nhiêu phần tử trong đoạn \([l, r]\) có giá trị bằng GCD của toàn bộ đoạn đó.

Ràng buộc

Subtask Điểm Ràng buộc
1 30 Các giá trị nhỏ
2 30 \(N \le 10^5\)
3 40 Không có ràng buộc gì thêm

Định dạng đầu vào

  • Dòng đầu chứa hai số nguyên \(N\) và \(Q\) (\(1 \le N, Q \le 10^5\)).
  • Dòng hai chứa \(N\) số nguyên \(a_1, a_2, \dots, a_N\) (\(1 \le a_i \le 10^9\)).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(l, r\) (\(1 \le l \le r \le N\)).

Định dạng đầu ra

  • Ứng với mỗi truy vấn, in ra số lượng phần tử thỏa mãn.

Ví dụ

Input:

6 3
12 6 18 6 12 3
1 4
2 5
3 6

Output:

2
1
1

Nhận xét

Không có ý kiến tại thời điểm này.