Gửi bài giải
Điểm:
0,54 (OI)
Giới hạn thời gian:
0.38s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho ~1~ dãy số có ~N~ phần tử. Có ~2~ thao tác được phép sử dụng để biến đổi dãy số:
- Đổi chỗ ~2~ phần tử đầu tiên của dãy
- Cho ~1~ hoán vị ~P~, di chuyển phần tử thứ nhất đến vị trí ~P[1]~, phần tử thứ ~2~ đến vị trí ~P[2]~, ...
Các thao tác được phép thực hiện với số lần không hạn chế và theo bất kì thứ tự nào.
Cho ~M~ truy vấn "u v", bạn cần trả lời xem có thể có thể biến đổi hoán vị ban đầu sao cho phần tử thứ ~u~ có thể di chuyển đến vị tri ~v~ hay không?
Input
- Dòng ~1~: ~2~ số ~N~ và ~M~ ~(0 < N~, ~M \le 10^{5})~
- Dòng ~2~: hoán vị ~P~ ~(1~ hoán vị của {1, ~2~, ..., N})
- Dòng ~3~ ...~M + 2~: mỗi dòng chứa ~2~ số nguyên ~u~ và ~v~ ~(0 < u~, ~v \le N)~
Output
- Với mỗi truy vấn, đưa ra "Yes" hoặc "No" tương ứng
Sample Input
4 2
1 4 3 2
4 1
3 4
Sample Output
Yes
No
Bình luận
Bài này test hơi yếu mong ad cho thêm test
Hi bạn,
Mình đã kiểm tra lại test và solution của bạn và thấy bộ test không có vấn đề gì nghiêm trọng. Cảm ơn bạn đã góp ý.