N minus One

Xem PDF

Điểm: 100 Thời gian: 1.0s Bộ nhớ: 1000M Input: bàn phím Output: màn hình

Cho một dãy số nguyên \(A\) gồm \(N\) phần tử và một số nguyên \(M\).

Bạn hãy xác định xem có thể xóa đi đúng một phần tử khỏi dãy \(A\) để tổng của \(N-1\) phần tử còn lại bằng đúng \(M\) hay không.

Input

  • Dòng đầu tiên chứa hai số nguyên \(N\)\(M\) (\(2 \le N \le 10^6\), \(0 \le M \le 10^{12}\)).
  • Dòng thứ hai chứa \(N\) số nguyên \(A_1, A_2, \dots, A_N\) (\(0 \le A_i \le 10^6\)), là các phần tử của dãy.

Output

  • In ra Yes nếu có thể thực hiện được yêu cầu, ngược lại in ra No.

Examples

Test 1

Input
4 10
3 2 3 4
Output
Yes
Explanation

Dãy ban đầu là \(3, 2, 3, 4\). Nếu xóa phần tử có giá trị \(2\), các phần tử còn lại là \(3, 3, 4\). Tổng của chúng là \(3 + 3 + 4 = 10\), bằng với giá trị \(M\) yêu cầu. Vì vậy, đáp án là Yes.

Test 2

Input
5 16
3 3 4 2 5
Output
No
Explanation

Tổng ban đầu của dãy là \(3+3+4+2+5=17\).

  • Nếu xóa số \(3\), tổng còn lại là \(14\).
  • Nếu xóa số \(4\), tổng còn lại là \(13\).
  • Nếu xóa số \(2\), tổng còn lại là \(15\).
  • Nếu xóa số \(5\), tổng còn lại là \(12\).
    Không có cách nào để tổng các phần tử còn lại bằng \(16\). Vì vậy, đáp án là No.

Test 3

Input
6 16
0 8 0 2 6 8
Output
Yes
Explanation

Tổng của cả dãy là \(0+8+0+2+6+8=24\). Để tổng còn lại là \(16\), ta cần xóa đi một phần tử có giá trị là \(24 - 16 = 8\). Vì trong dãy có chứa số \(8\) nên ta có thể xóa nó đi. Do đó, đáp án là Yes.


Bình luận

Không có bình luận nào.