Bài 15.4. Giải Mã Thông Điệp - [Độ khó: Khá]
Bài 15.4. Giải Mã Thông Điệp - [Độ khó: Khá]
Trong thế giới của những điệp viên, bạn vừa chặn được một thông điệp mật mã. Thông điệp được mã hóa bằng một danh sách các "mã số" và một "mã khóa" đặc biệt. Để giải mã, bạn cần kiểm tra xem có tồn tại hai mã số khác nhau trong danh sách mà tổng của chúng bằng đúng mã khóa đã cho hay không. Nếu có, thông điệp có thể giải mã được.
INPUT FORMAT
Dòng đầu tiên chứa số nguyên N
(1 <= N <= 10^5) – số lượng mã số.
Dòng thứ hai chứa số nguyên T
(-2 10^9 <= T <= 2 10^9) – mã khóa.
Dòng thứ ba chứa N
số nguyên M_0, M_1, ..., M_{N-1}
(-10^9 <= M_i <= 10^9) – các mã số. Các mã số này có thể không được sắp xếp.
OUTPUT FORMAT
In ra YES
nếu tìm thấy một cặp hai mã số khác nhau có tổng bằng T
.
In ra NO
nếu không tìm thấy cặp nào.
Ví dụ 1:
Input:
5
30
10 5 20 15 25
Output:
YES
Giải thích:
- Mã khóa
T = 30
. Các mã số:[10, 5, 20, 15, 25]
. - Sắp xếp các mã số:
[5, 10, 15, 20, 25]
. - Có cặp
5
và25
mà5 + 25 = 30
. Vì hai mã số này ở vị trí khác nhau trong danh sách gốc (và giá trị khác nhau), điều kiện thỏa mãn.
Ví dụ 2:
Input:
4
100
10 20 30 40
Output:
NO
Giải thích:
- Mã khóa
T = 100
. Các mã số:[10, 20, 30, 40]
. - Không có cặp nào trong danh sách này có tổng bằng
100
. (VD: 40 + 30 = 70, 40 + 20 = 60...)
Ví dụ 3:
Input:
3
20
10 10 5
Output:
YES
Giải thích:
- Mã khóa
T = 20
. Các mã số:[10, 10, 5]
. - Có hai mã số
10
ở vị trí khác nhau trong danh sách (M_0
vàM_1
) có tổng bằng20
. Điều kiện thỏa mãn.
Comments