Ổ cắm điện

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: odien.inp
Output: odien.out

Ngôn ngữ cho phép
C++, PyPy, Python

Đức cùng nhóm bạn của mình được thầy giáo giao nhiệm vụ hỗ trợ chuẩn bị phòng máy cho kì thi lập trình danh giá được tổ chức sắp tới.

Phòng máy có ~m~ máy tính, công việc của nhóm Đức là sử dụng các ổ điện rời để cung cấp nguồn điện cho ~m~ máy tính. Phòng máy chỉ có một ổ điện nguồn (trên tường) với đúng 1 khe cắm đang có điện.

Hiện tại trong kho có ~n~ ổ điện rời, mỗi ổ điện rời có:

  • Một số khe cắm (gọi là ~a_i~, 1 ≤ ~a_i~ ≤ 10).
  • Một phích cắm để cắm vào khe của ổ khác.

Một ổ điện rời chỉ có điện nếu phích cắm của nó được cắm vào ổ điện nguồn hoặc vào khe của một ổ điện rời khác đang có điện. Khi đó:

  • Ổ điện rời đó có ~a_i~ khe cắm.
  • Nhưng mất 1 khe để cắm phích vào.

Để cấp điện cho ~m~ máy tính, cần chọn ra một số ổ điện rời (ít nhất có thể) sao cho tổng số khe cắm trống có điện còn lại đủ cho tất cả ~m~ máy tính.

Yêu cầu: Xác định số lượng ổ điện rời ít nhất cần dùng. Nếu dùng tất cả mà vẫn không đủ, in ra ~-1~.

Input (ODien.INP)

  • Dòng 1: hai số nguyên dương ~n, m~ (~n~ là số ổ điện rời, ~m~ là số máy tính).
  • Dòng 2: ~n~ số nguyên dương ~a_1, a_2, …, a_n~ (~1 ≤ a_i ≤ 10~) là số khe cắm của từng ổ điện rời.

Output (ODien.OUT)

  • Một số nguyên duy nhất: số ổ điện rời ít nhất cần sử dụng.
  • Nếu không thể cấp đủ điện cho ~m~ máy tính thì in ra ~-1~.

Sample

ODien.INP

3 4
3 2 2

ODien.OUT

2

Giải thích:

  • Ổ điện 1 (3 khe) cắm vào ổ nguồn → còn 2 khe trống.
  • Ổ điện 2 (2 khe) cắm vào 1 khe của ổ 1 → tổng cộng còn 4 khe trống.
  • Đủ để cắm 4 máy tính.

ODien.INP

5 5
1 3 1 2 1

ODien.OUT

-1

Giải thích:

  • Dù dùng cả 5 ổ điện, số khe trống có điện vẫn không đủ để cắm cho 5 máy tính.

Ràng buộc

  • 50% số test: ~1 ≤ n, m ≤ 100~, với mọi ~a_i = 2~.
  • 50% số test còn lại: ~100 < n, m ≤ 1000~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.