Submit solution
Points:
1.33 (partial)
Time limit:
0.9s
Memory limit:
512M
Input:
stdin
Output:
stdout
Problem source:
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Một dãy cấp số cộng là một dãy số mà 2 cặp phần tử liên tiếp bất kỳ có hiệu bằng nhau và khác 0. Trường hợp dãy số chỉ gồm 2 số khác nhau vẫn tính là một dãy cấp số cộng
Ví dụ:
- 2, 5 là dãy cấp số cộng.
- 8, 3 là dãy cấp số cộng.
- 1, 2, 3, 4, 5 là dãy cấp số cộng.
- 11, 8, 5, 2 là dãy cấp số cộng.
- 1, 2, 4, 5, 7 không phải là dãy cấp số cộng.
Cho một dãy số A gồm N số nguyên dương. Cho Q truy vấn dạng (x, y). Mỗi truy vấn yêu cầu kiểm tra xem đoạn từ x tới y có phải là hoán vị của một dãy cấp số cộng không.
Input
- Dòng đầu chứa 2 số nguyên ~N~, ~Q~.
- Số thứ ~i~ trong ~N~ số ở dòng thứ 2 là ~A_{i}~.
- Dòng thứ ~i~ trong ~Q~ dòng tiếp theo chứa 2 số nguyên ~x~, ~y~ mô tả truy vấn thứ ~i~.
Output
Gồm ~Q~ dòng.
- Dòng thứ ~i~ trong ~Q~ dòng sẽ trả lời cho truy vấn thứ ~i~.
- In ra YES nếu đoạn từ ~x~ tới ~y~ là hoán vị của một dãy cấp số cộng. Ngược lại thì ghi ra NO.
Giới hạn
11 test có ~N~, ~Q \le 1000~.
10 test có ~N \le 1000~, ~Q \le 10^{6}~.
10 test có ~N \le 10^{5}~, ~Q \le 10^{5}~.
~A_{i} \le 10^{9}~
Sample Input
5 2
1 3 2 5 4
1 5
2 4
Sample Output
YES
NO
Comments