1114 - Biến đổi dãy số

Tạo bởi: CLB Olympic Tin học HUTECH

Mô tả yêu cầu

Bạn A được cho một dãy các số từ 1 tới N. A được phép thực hiện một vài phép biến đổi (hoặc không làm gì cả). Ở mỗi phép biến đổi, bạn ấy chọn một số bất kỳ và đặt một dấu trừ phía trước số đó.

Sau khi thực hiện việc này, A tiến hành tính tổng các số vừa biến đổi. Hãy cho biết, A có thể tạo nên tổng bằng S sau biến đổi hay không?

Cũng như việc bạn làm bài tập về nhà, A phải trả lời rất nhiều câu hỏi như trên, mỗi câu hỏi lại có một số N và số S khác nhau. A lười trả lời lắm, mà bạn lại biết code. Bạn hãy giúp A nhé!

Dữ liệu vào

  • Dòng đầu tiên chứa số T (1 \leq T \leq 10^5) là số lượng câu hỏi.
  • T dòng tiếp theo, dòng thứ i lần lượt chứa hai số N_i, S_i biểu thị truy vấn gồm số phần tử của dãy và tổng cần đạt được.

Dữ liệu ra

  • In ra T dòng, dòng thứ i là đáp án cho câu hỏi thứ i.
  • In ra YES có thể biến đổi ra tổng S_i, còn không thì in ra NO.

Giới hạn

  • |S|\leq 10^{18}
  • 20% số điểm có dữ liệu thỏa mãn T \leq1000, N \leq 20
  • 30% số điểm có dữ liệu thỏa mãn T \leq 10000, N \leq 100
  • 50% số điểm có dữ liệu thỏa mãn T \leq 100000, N \leq 100000

Ví dụ

Dữ liệu vào Sao chép
2
3 5
12 -48
Dữ liệu ra Sao chép
NO
YES
Đăng nhập để làm bài
Thông tin
Giới hạn thời gian 1 giây
Giới hạn bộ nhớ 128 MB