Truy vấn ước chung lớn nhất

Xem dưới dạng PDF

Gửi bài giải

Điểm: 10
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

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

Cho dãy số có \(N\) phần tử \((2 \le A_i \le 10^7)\) và \(Q\) truy vấn (mỗi truy vấn gồm ba số nguyên dương \(L\) và \(R\) và \(G\)). \(G\) là ước chung lớn nhất giả định trong đoạn \([L, R]\), hãy xác định xem \(G\) có phải là ước chung lớn nhất của đoạn \([L, R]\) không? Nếu phải thì in \(YES\), ngược lại nếu không phải thì bạn được quyền xóa 1 số bất kỳ trong đoạn \([L, R]\) để \(G\) trở thành ước chung, nếu được thì in \(YES\), không thì in \(NO\).

Ràng buộc:

  • \(10 \le N, Q \le 10^5\)
  • \(0 \le L \le R \le N\)

Dữ liệu vào:

  • Dòng thứ nhất: có 2 số \(N\) và \(Q\)
  • Q Dòng tiếp theo: mỗi dòng chứa 3 số \(L\), \(R\) và \(G\)

Dữ liệu ra:

  • Q dòng: mỗi dòng là kết quả tương ứng với từng câu truy vấn

Lưu ý:

  • vị trí bắt đầu từ \(1\)

Input

3 3
2 6 3
1 2 2
1 3 5
1 3 3

Output

YES
NO
YES

Giải thích

- Truy vấn 1: 2 đúng là ước chung lớn nhất trong đoạn [1, 2].
- Truy vấn 2: Không thể xóa số nào để ra được gcd là 5.
- Truy vấn 3: Xóa số 2 để được gcd là 3 trong 2 phần tử 6,3 còn lại

Nhận xét

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