Phép toán trừ


Submit solution

Points: 1 (partial)
Time limit: 1.0s
Memory limit: 537M

Problem type

Để giúp bạn Tuấn vui vẻ hơn sau những giờ học tập căng thẳng, bạn Hoàng "rất tâm lí" đã tới và đố Tuấn một bài toán: Hoàng viết cho Tuấn một danh sách gồm n số nguyên. Tuấn có thể thực hiện thao tác sau: Chọn một phần tử x từ danh sách, xóa x khỏi danh sách và trừ giá trị của x khỏi tất cả các phần tử còn lại. Với mỗi thao tác như vậy, độ dài của danh sách giảm đi 1.

Cho số nguyên \(k\) (\(k < 0\)), hãy tìm xem có dãy n-1 nào đó sao cho sau khi áp dụng các phép toán, phần tử còn lại duy nhất của danh sách bằng k. Các bạn giúp Tuấn giải quyết bài toán này nhé!

Input:
  • Dòng đầu tiên chứa một số nguyên \(T\) (\(1 \leq T \leq 10^4\)) (số lượng test).
  • Sau đây là mô tả các trường hợp: Dòng đầu tiên của mỗi trường hợp chứa hai số nguyên \(n\) và \(k\) (\(2 \leq n \leq 2 * 10^5, 1 \leq k \leq 10^9\)), số lượng các số nguyên trong danh sách và giá trị đích, tương ứng.

  • Dòng thứ hai của mỗi trường hợp kiểm tra chứa n số nguyên trong danh sách \(a_1, a_2,…, a_n\) (-\(10^9 \leq a^i \leq 10^9\)).

  • Đảm bảo rằng tổng của n trên tất cả các test không lớn hơn \(2 * 10^5\).
Output:

Đối với mỗi trường hợp thử nghiệm, in YES nếu bạn có thể đạt được \(k\) với chuỗi n-1 phép toán. Nếu không, hãy in NO.

Ví dụ:
Input
4
4 5
4 2 2 7
5 4
1 9 1 3 4
2 17
17 0
2 17
18 18
Output
YES
NO
YES
NO
Giải thích:

Trong ví dụ đầu tiên, chúng ta có danh sách {\(4, 2, 2, 7\)} và chúng ta có \(k = 5\). Có một cách để đạt được điều đó như sau: đầu tiên chúng ta chọn phần tử thứ ba, lấy danh sách {\(2, 0, 5\)}.

Tiếp theo, chúng ta chọn phần tử đầu tiên, thu được danh sách \({-2,3}\)

Cuối cùng, chúng ta chọn phần tử đầu tiên, lấy danh sách \({5}\).


Comments

There are no comments at the moment.