Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
camdien.inp
Output:
camdien.out
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Trong nhà Nam đang có ~n~ ổ cắm điện rời. Số lượng chổ cắm trên mỗi ổ cắm điện này lần lượt là ~a_1,a_2,..a_n~ chổ cắm điện. Trên tường nhà Nam có một chổ cắm cố định đang có điện. Vậy để cho một ổ cắm điện rời có điện thì phải cắm ổ cắm đó vào chỗ cắm cố định trên tường. Chúng ta cũng có thể cắm ổ cắm điện rời này vào một ổ cắm điện rời khác đang có điện. Nam có ~m~ thiết bị sử dụng điện, để sử dụng thì các thiết bị này cần được cắm vào ổ cắm trên tường hoặc ổ cắm rời đang có điện. Bạn hãy giúp Nam tìm ra số ổ cắm rời ít nhất cần dùng để có thể sử dụng tất cả m thiết bị điện này.
Dữ liệu vào:
Được cho bởi tệp CAMDIEN.INP có cấu trúc như sau:
- Dòng thứ nhất gồm 1 số nguyên ~n~,~m~. Dữ liệu vào đảm bảo ~1 ≤ n,m ≤ 10^5~, n là số lượng ổ cắm và m là số lượng thiết bị.
- Dòng thứ 2 gồm n số nguyên ~a_1,a_2,..,a_n~ là số chổ cắm trên các ổ cắm rời tương ứng, với mỗi số cách nhau 1 dấu cách (~1 ≤ a_i ≤ 10^5~)
Dữ liệu ra:
Được cho bởi tệp CAMDIEN.OUT có cấu trúc như sau:
- Ghi ra số nguyên cho biết số ổ cắm rời ít nhất cần sử dụng là bao nhiêu. Nếu đã sử dụng hết tất cả ổ cắm rời mà vẫn không đủ thì in ra -1.
Ví dụ:
Input1
3 4
3 2 2
Output1
2
Input2
5 5
1 3 1 2 1
Output2
-1
Bình luận
cắm nhiều dễ bị quá tải rồi nổ nhà đỏ nam0610