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
Tèo có một dãy số nguyên dương. Cậu muốn kiểm tra tính chia hết của các số trong một đoạn bất kỳ. Cụ thể, với mỗi truy vấn \((l, r)\), Tèo muốn biết ước số chung lớn nhất (GCD) của tất cả các phần tử từ \(l\) đến \(r\).
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 GCD của các phần tử trong đoạn.
Ví dụ
Input:
6 3
12 18 24 36 8 16
1 4
3 6
2 5
Output:
6
4
2
Nhận xét