Phủ Thừa Số
View as PDF
Submit solution
Points:
1.00 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Authors:
Problem type
Cho một mảng gồm ~N~ số nguyên dương ~a_1,a_2,\dots,a_N~ và một số nguyên dương ~M~. Một đoạn liên tiếp ~[l,r]~ được gọi là hợp lệ nếu:
~a_l \times a_{l+1} \times \dots \times a_r~
chia hết cho ~M~.
Có ~Q~ truy vấn. Mỗi truy vấn cho hai số ~L,R~.
Với mỗi truy vấn, hãy tìm độ dài nhỏ nhất của một đoạn liên tiếp ~[l,r]~ thỏa mãn:
- ~L \leq l \leq r \leq R~;
- tích các phần tử từ ~a_l~ đến ~a_r~ chia hết cho ~M~.
Nếu không tồn tại đoạn như vậy, in ra ~-1~.
Input
- Dòng đầu gồm ba số nguyên ~N,M,Q~ ~(1 \leq N,Q \leq 2\times10^5,\ 1 \leq M \leq 10^{14})~.
- Dòng thứ hai gồm ~N~ số nguyên ~a_i~ ~(1 \leq a_i \leq 10^9)~.
- ~Q~ dòng tiếp theo, mỗi dòng gồm hai số nguyên ~L,R~ ~(1 \leq L \leq R \leq N)~.
Output
Với mỗi truy vấn, in ra:
- độ dài nhỏ nhất của một đoạn hợp lệ nằm hoàn toàn trong ~[L,R]~;
- hoặc ~-1~ nếu không tồn tại.
Sample Input
5 6 6
2 3 5 2 3
1 5
1 2
2 4
3 5
3 4
4 5
Sample Output
2
2
3
2
-1
2
Giới Hạn
| Subtask | Ràng buộc | Điểm |
|---|---|---|
| 1 | ~N,Q \leq 200~ & ~a_i,M \leq 10^9~ | 25% |
| 2 | ~N,Q \leq 5000~ | 25% |
| 3 | ~Q=1~ | 25% |
| 4 | Không có ràng buộc bổ sung | 25% |
Loading...