VO 15 Bài 6 - Tính toán số lớn

Xem dạng PDF

Gửi bài giải

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

Nguồn bài:
VO 2015
Dạng bài
Ngôn ngữ cho phép
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

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.