[Beginner Free Contest 40] POSSIBLE

Xem dạng PDF

Gửi bài giải

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

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Bạn ~A~ được cho dãy các số nguyên 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ư khi 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

  • Dòng đầu tiên chứa số ~T~ ~(1 \le T \le 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.

Kết quả

In ra ~T~ dòng, dòng thứ ~i~ là đáp án cho câu hỏi thứ ~i~: in ra YES nếu có thể biến đổi để được tổng ~S_i~, ngược lại in ra NO.

Ví dụ

Sample Input

2
3 5
12 -48

Sample Output

NO
YES

Giới hạn

  • ~|S| \le 10^{18}~

  • 20% số điểm có dữ liệu thỏa mãn ~T \le 1000, N \le 20~

  • 30% số điểm có dữ liệu thỏa mãn ~T \le 10000, N \le 100~

  • 50% số điểm có dữ liệu thỏa mãn ~T \le 10^5, N \le 10^5~


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.