TGB Contest 1 - CSC

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 3.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho mảng ~A~ gồm ~N~ phần tử và ~Q~ truy vấn có dạng sau:

  • ~l\ r\ x~: Gọi ~u_1 = a_l, u_2 = a_{l+1},\ldots, u_{r-l+1} = a_r~. Kiểm tra dãy u có phải hoán vị của một dãy cấp số cộng có công sai là ~x~ hay không. Nói cách khác:
    • Sort mảng ~u~ theo thứ tự tăng dần, kiểm tra xem điều kiện sau có thỏa mãn hay không: ~u_i = u_{i-1} + x\ (\forall i: 1 < i \leq r-l+1)~.

Yêu cầu: Trả lời ~Q~ truy vấn trên. Với mỗi truy vấn, nếu truy vấn thỏa điều kiện trên thì xuất ra ~\text{YES}~, ngược lại xuất ra ~\text{NO}~.

LƯU Ý: Bài này sẽ được chấm theo thể thức IOI, tức chỉ khi bạn đúng hết các test trong subtask đó thì mới nhận được điểm của cả subtask đó.

Input

  • Dòng đầu chứa 2 số nguyên dương ~N, Q~ (~N,Q \leq 4 \times 10^5~).
  • Dòng thứ hai chứa ~N~ số nguyên không âm cách nhau bởi dấu cách: ~a_1, a_2, \ldots, a_N\ (a_i \leq 10^9)~.
  • ~Q~ dòng tiếp theo, mỗi dòng chứa ~3~ số nguyên không âm ~l, r, x\ (1 \leq l \leq r \leq n,\ 0 \leq x \leq 10^9)~ là các truy vấn.

Output

  • Xuất ra ~Q~ dòng, dòng thứ ~i~ xuất ra YES/ NO tương ứng với câu trả lời cho truy vấn thứ ~i\ (1 \leq i \leq Q)~.

Subtask:

  • Subtask 1 ~(20\%~): ~n \leq 1000,\ q \leq 1000~.
  • Subtask 2 ~(20\%)~: ~x \leq 1~ với tất cả truy vấn.
  • Subtask 3 ~(60\%)~: Không có ràng buộc gì thêm.

Sample

Sample Input 1

7 3
3 7 5 11 8 14 3
1 3 2
1 3 3
3 6 3

Sample Output 1

YES
NO
YES

Giải thích: Xét mảng ~u~ ở truy vấn 1 sau khi đã sort lại, ta có ~u = \{3, 5, 7\}~. Dễ thấy ~5 = 3 + 2, \ 7 = 5 + 2~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.