Bài 4: Đổi quà (TS10 Đồng Tháp 2025)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cuối năm học, Nam được bố mẹ cho tham gia hội trại hè. Tại hội trại, Nam tích cực tham gia các hoạt động và giành được số điểm \(m\). Nam muốn tặng bố mẹ mỗi người một món quà theo chương trình đổi điểm lấy quà của Ban tổ chức. Biết rằng Ban tổ chức có \(n\) món quà, món quà thứ \(i\) có giá trị \(a_i\) tương ứng phải dùng \(a_i\) điểm để đổi (\(1 \le i \le n\)). Với số điểm hiện có, Nam quyết định sẽ đổi thành hai món quà khác nhau có tổng giá trị lớn nhất.

Yêu cầu: Hãy xác định tổng giá trị lớn nhất của hai món quà mà Nam có thể đổi được tương ứng với điểm số \(m\) hiện có.

Input

  • Dòng thứ nhất ghi hai số nguyên \(n\)\(m\) (\(1 \le n \le 10^5, 1 \le m \le 10^9\)).
  • Dòng thứ hai ghi \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9, i = 1 \dots n\)).

Output

  • Tổng giá trị lớn nhất của hai món quà mà Nam có thể đổi được tương ứng với điểm số \(m\) hiện có. Nếu không thể đổi được hai món quà khác nhau thì ghi số -1.

Example

Test 1

Input
8 10
6 3 8 10 6 19 4 19
Output
10

Scoring

  • Có 60% số test tương ứng 60% số điểm có \(1 \le n \le 10^3\).
  • Có 40% số test tương ứng 40% số điểm có \(10^3 < n \le 10^5\).

Bình luận (1)

Mới nhất
Tải bình luận...