Bài 3: Truy vấn chia hết (TS10 Vĩnh Phúc thi thử - 2026)
Xem PDF
Điểm:
1800 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho dãy gồm \(N\) số nguyên dương đôi một phân biệt \(A = (a_1, a_2, \dots, a_N)\).
Hãy trả lời \(Q\) truy vấn, mỗi truy vấn gồm ba số nguyên dương \(l, r, d\), yêu cầu đếm số phần tử \(a_i\) trong \(A\) thoả mãn:
- \(l \leq i \leq r\)
- \(a_i\) hoặc là ước số của \(d\), hoặc là bội số của \(d\).
Input
- Dòng 1: Hai số nguyên \(N, Q\) — số phần tử của dãy \(A\) và số truy vấn (\(1 \leq N, Q \leq 10^5\)).
- Dòng 2: \(N\) số nguyên dương đôi một phân biệt \(a_1, a_2, \dots, a_N\) (\(1 \leq a_i \leq 2 \cdot 10^5; a_i \neq a_j, \forall i \neq j\)).
- \(Q\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(l, r, d\) (\(1 \leq l \leq r \leq N, 1 \leq d \leq 2 \cdot 10^5\)).
Output
- In ra một dòng gồm \(Q\) số nguyên, số thứ \(i\) là kết quả của truy vấn thứ \(i\).
Example
Test 1
Input
8 5
12 10 3 18 6 72 28 42
1 8 6
3 7 7
2 6 9
1 5 5
4 8 4
Output
6 1 3 1 2
Note
- Truy vấn 1: \(Q([12, 10, 3, 18, 6, 72, 28, 42], 6) \implies \{12, 3, 18, 6, 72, 42\}\)
- Truy vấn 2: \(Q([3, 18, 6, 72, 28], 7) \implies \{28\}\)
- Truy vấn 3: \(Q([10, 3, 18, 6, 72], 9) \implies \{3, 18, 72\}\)
- Truy vấn 4: \(Q([12, 10, 3, 18, 6], 5) \implies \{10\}\)
- Truy vấn 5: \(Q([18, 6, 72, 28, 42], 4) \implies \{72, 28\}\)
Scoring
- Subtask \(1\) (\(40\%\) số điểm): \(N, Q \leq 1000\).
- Subtask \(2\) (\(60\%\) số điểm): Không có ràng buộc bổ sung.
Kỳ thi:
- Thi thử tuyển sinh lớp 10 Chuyên Vĩnh Phúc 2026 (7 Tháng năm, 2026)
Bình luận