Cho một dãy số nguyên dương gồm phần tử. Thực hiện thao tác, gồm hai loại:
update idx val
: Thay đổi giá trị thành .
query L R
: Tìm ước số chung lớn nhất (GCD) của tất cả các phần tử trong đoạn con .
Dữ liệu:
- Dòng đầu tiên gồm hai số nguyên và (, ) - số lượng phần tử và số lượng thao tác.
- Dòng thứ hai gồm số nguyên dương () - các phần tử của dãy.
- dòng tiếp theo, mỗi dòng mô tả một thao tác:
update idx val
(, ).
query L R
().
Kết quả: Với mỗi thao tác query
, in ra một dòng duy nhất chứa ước chung lớn nhất của các phần tử trong đoạn từ đến .
Ví dụ:
Dữ liệu:
5 5
12 18 24 30 36
query 1 3
update 2 27
query 2 4
update 4 42
query 1 5
Kết quả:
Giải thích:
query 1 3
: .
update 2 27
: được cập nhật thành 27.
query 2 4
: .
update 4 42
: được cập nhật thành 42.
query 1 5
: .
Giới hạn:
- ,