LTOJ Challenge 02 - Kiểm tra chia hết

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, Brain****, C, C++, Java, Pascal, Perl, Python, SCRATCH, Sed, Text
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: CHIAHET.INP Output: CHIAHET.OUT

Cho dãy số \(A\)\(n\) phần tử \(a_1,a_2,...,a_n\)\(q\) truy vấn \(l\) \(r\) \(k\). Với mỗi truy vấn \(l\) \(r\) \(k\). Hãy kiểm tra xem tích của các phần tử \(a_l,a_{l+1},...,a_r\) có chia hết cho \(k\) hay không.

Dữ liệu vào

Nhập dữ liệu từ tệp CHIAHET.INP có cấu trúc như sau:
Dòng đầu tiên chứa số nguyên dương \(n\) - là số lượng phần tử của dãy \(A\).
Dòng thứ hai chứa \(n\) số nguyên dương \(a_1,a_2,...,a_n\) lần lượt là các phần tử của dãy \(a\).
Dòng thứ ba chứa số nguyên dương \(q\) - Số lượng truy vấn
\(q\) dòng tiếp theo, mỗi dòng chứa mỗi truy vấn \(l\) \(r\) \(k\).

Dữ liệu ra

Ghi dữ liệu ra tệp CHIAHET.OUT theo cấu trúc như sau:
Gồm \(q\) dòng, mỗi dòng in ra YES nếu tích các phần tử của đoạn con ấy chia hết cho \(k\), ngược lại in ra NO.

Chấm điểm

Tất cả các test đều thỏa mãn điều kiện \(1 \leq n \leq 10^5, 1 \leq q \leq 10^5, 1 \leq a_i \leq 10^9, 2 \leq k \leq 10\)

  • Các test từ \(1\) đến \(30\) có ràng buộc riêng \(1 \leq n \leq 10^3, 1 \leq q \leq 10^3\).
  • Các test từ \(31\) đến \(60\) tiếp theo có ràng buộc riêng \(1 \leq n \leq 10^3, 1 \leq q \leq 10^5\)
  • Các test từ \(61\) đến \(80\) tiếp theo có ràng buộc riêng \(k=2\) với mọi truy vấn
  • \(20\) test còn lại đảm bảo ràng buộc gốc.
Sample
Input
4 
9 2 2 7
2
1 3 3
2 4 3
Output
YES
NO

Bình luận

Gần nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: