Hai số có tổng bằng K

Dễ

mảnghash map7 test · 3 giây

Cho dãy n số nguyên và số K. Tìm hai vị trí i < j sao cho aᵢ + aⱼ = K.

  • Nếu có nhiều cặp, chọn cặp có j nhỏ nhất; nếu vẫn hòa, chọn i nhỏ nhất.
  • Nếu không có cặp nào, in -1.
  • Gợi ý: duyệt từ trái sang phải và dùng hash map lưu các giá trị đã gặp → O(n).

Dữ liệu vào

Dòng 1: n K (1 ≤ n ≤ 10⁵, |K| ≤ 2·10⁹).

Dòng 2: n số nguyên (|aᵢ| ≤ 10⁹).

Dữ liệu ra

Hai số i j (đánh số từ 1), hoặc -1.

Ví dụ

Input

5 9
2 7 11 15 1

Output

1 2

2 + 7 = 9 ở vị trí 1 và 2

Input

3 10
1 2 3

Output

-1

Không có cặp nào

Bài tiếp theo: Có phần tử trùng lặp không? →

Input (stdin)

Output

Bấm “Chạy thử” để xem kết quả với input bên trái.