Gửi bài giải


Điểm: 5
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 64M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Cho mảng \(a\) gồm \(N\) số nguyên đã được sắp xếp theo thứ tự tăng dần và một số nguyên \(X\). Nhiệm vụ của bạn là kiểm tra xem có tồn tại hai phần tử phân biệt \(a_i, a_j\) (\(i \neq j\)) trong mảng sao cho tổng của chúng đúng bằng \(X\) hay không.

Hãy tận dụng tính chất mảng đã sắp xếp để đưa ra phương án tối ưu có độ phức tạp \(O(N)\).

Định dạng đầu vào

  • Dòng đầu chứa hai số nguyên \(N\) và \(X\) (\(2 \le N \le 10^5\), \(1 \le X \le 2 \cdot 10^9\)).
  • Dòng thứ hai chứa \(N\) số nguyên \(a_1, a_2, \dots, a_N\) đã sắp xếp tăng dần (\(1 \le a_i \le 10^9\)).

Định dạng đầu ra

  • In ra giá trị \(X\) nếu tìm thấy cặp phần tử thỏa mãn, ngược lại in ra \(-1\).

Ví dụ

Input:

5 8
1 2 3 5 7

Output:

8

Ràng buộc

  • 30% số điểm ứng với \(N \le 1000\).
  • 70% số điểm còn lại không có ràng buộc gì thêm.

Nhận xét

Không có ý kiến tại thời điểm này.