Submit solution
Points:
1.07 (partial)
Time limit:
1.0s
Memory limit:
512M
Input:
stdin
Output:
stdout
Problem source:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho ~N~ số nguyên (có thể âm, ~N ≤ 1000~). Các số được đánh số từ ~0~ đến ~N-1~, số thứ ~i~ được ký hiệu là ~A_i~. Mỗi số có không quá ~1000~ chữ số. Bạn cần trả lời ~Q~ truy vấn ~\left(Q \leq 10^{5}\right)~. Mỗi truy vấn có dạng: ~X_{1}~ ~Y_{1}~ ~C_{1}~ ~X_{2}~ ~Y_{2}~ ~C_{2}~, trong đó:
- ~X_{1}~, ~Y_{1}~, ~X_{2}~, ~Y_{2}~ là các số nguyên nằm trong khoảng ~[0, N-1]~.
- ~C_{1}~, ~C_{2}~ là các phép toán, có thể là ~+~, ~-~ hoặc ~*~
Nhiệm vụ của bạn là kiểm tra ~A_{X_{1}}~ ~C_{1}~ ~A_{Y_{1}}~ có bằng ~A_{X_{2}}~ ~C_{2}~ ~A_{Y_{2}}~ hay không. Ví dụ:
- ~N = 3~
- Dãy số: ~\left[10, 20, 30\right]~
- Truy vấn: ~0~ ~2~ ~+~ ~1~ ~1~ ~+~
- Bạn cần kiểm tra ~A_0 + A_2~ có bằng ~A_1 + A_1~ hay không.
Input
- Dòng đầu chứa ~2~ số nguyên dương ~N, Q~.
- ~N~ dòng tiếp theo, dòng thứ ~i~ chứa số nguyên ~A_i~.
- ~Q~ dòng tiếp theo, mỗi dòng chứa ~X_{1}~ , ~Y_{1}~ , ~C_{1}~ , ~X_{2}~ , ~Y_{2}~ , ~C_{2}~ mô tả truy vấn.
Output
Gồm ~Q~ dòng, mỗi dòng in ra ~YES~ nếu ~2~ số bằng nhau, và ~NO~ nếu ~2~ số khác nhau.
Giới hạn
- Có ~40\%~ số test có ~N \leq 500~, ~Q \leq 5000~, mỗi số trong input không quá ~100~ chữ số
- Tất cả các test đều có ~N \leq 1000~, ~Q \leq 100000~, mỗi số trong input không quá ~1000~ chữ số
Sample Input
4 3
1
2
3
4
0 1 - 2 3 -
0 3 + 1 2 +
0 3 * 1 2 *
Sample Output
YES
YES
NO
Comments