L. Hai số có tổng bằng K
Mô tả
(Bài này em có thể dùng set để làm)
Cho dãy gồm N số nguyên và một số nguyên K.
Hãy kiểm tra xem có tồn tại hai phần tử ở hai vị trí khác nhau trong dãy sao cho tổng của chúng đúng bằng K hay không.
Nếu tồn tại, in ra "YES", ngược lại in ra "NO".
Dữ liệu vào (Input)
Dòng đầu tiên chứa hai số nguyên N và K.
Dòng thứ hai chứa N số nguyên của dãy.
Dữ liệu ra (Output)
In ra:
"YES" nếu tồn tại hai phần tử có tổng bằng K.
"NO" nếu không tồn tại.
Ràng buộc
2 ≤ N ≤ 200000
|ai| ≤ 109
|K| ≤ 2 × 109
Ví dụ 1
Input
5 9 2 7 4 1 8
Output
YES
Giải thích
Ta có:
2 + 7 = 9
Do đó tồn tại hai phần tử có tổng bằng K = 9.
Ví dụ 2
Input
6 20 3 5 7 9 12 13
Output</p>
NO
Giải thích
Không có cặp số nào trong dãy có tổng bằng 20.
Ví dụ 3
Input</p>
4 10 5 5 1 2
Output
YES
Giải thích
Hai số 5 nằm ở hai vị trí khác nhau và:
5 + 5 = 10
nên đáp án là YES.
Comments