MảngBảng băm
Mô tả
Tại xưởng lẻ của bà Sáu bên bờ sông Tiền, mỗi xuồng chở hàng được gắn một mã số nguyên dương để theo dõi. Cuối ngày, hải quan yêu cầu kiểm tra an ninh: cần xác định xem có tồn tại hai xuồng khác nhau trong xưởng mà tổng mã số của chúng bằng đúng một giá trị K cho trước hay không. Hai xuồng này sẽ được neo đợi kiểm tra lại.
Bạn được giao viết chương trình trợ giúp bà Sáu kiểm tra nhanh yêu cầu trên.
Đầu vào
- Dòng đầu tiên chứa hai số nguyên
nvàK(2 ≤ n ≤ 10^5, 1 ≤ K ≤ 2×10^9). - Dòng thứ hai chứa
nsố nguyên dươnga₁, a₂, ..., aₙ(1 ≤ aᵢ ≤ 10^9), là mã số của từng xuồng.
Đầu ra
- In ra
YESnếu có hai xuồng khác nhau có tổng mã số đúng bằngK, ngược lại in raNO.
Ràng buộc
- 2 ≤ n ≤ 10^5.
- 1 ≤ aᵢ ≤ 10^9.
- Tổng K nằm trong khoảng [1, 2×10^9].
- Cần giải quyết trong O(n) hoặc O(n log n).
Ví dụ
Ví dụ 1:
- Đầu vào:
5 10 3 7 1 8 5
- Đầu ra:
YES
Giải thích: Xuồng mang mã số 3 và mã số 7 có tổng là 10, đúng bằng K.
Ví dụ 2:
- Đầu vào:
4 20 1 2 3 4
- Đầu ra:
NO
Giải thích: Không có bất kỳ cặp hai xuồng nào có tổng bằng 20.