Tất cả thử thách
Khó 0 đã giải Tỷ lệ chấp nhận 0%

Số Chuyến Thang Máy Tối Thiểu

Nhóm người thành số chuyến thang máy ít nhất có thể, mỗi chuyến bị giới hạn trọng lượng.

Mỗi người phải đi đúng một lần. Bất kỳ nhóm nào cũng có thể đi cùng nhau nếu tổng trọng lượng của họ không vượt quá capacity. Có thể nhóm lại tự do; thứ tự đầu vào không quan trọng. Hãy tối thiểu hóa số chuyến đi.

Cài đặt hàm elevator_rides(weights, capacity).

Đầu vào

weights: Trọng lượng của từng người.

capacity: Tổng trọng lượng tối đa cho mỗi chuyến đi.

Đầu ra

Trả về số chuyến đi tối thiểu.

Ràng buộc

1 ≤ số người ≤ 20. 1 ≤ capacity ≤ 1.000.000.000. Mỗi trọng lượng nằm trong khoảng từ 1 đến capacity.

Ví dụ

Ví dụ 1
Đầu vào:
weights = [3, 4, 5]
capacity = 7

Kết quả mong đợi:
expected = 2
Đầu vào:
std::vector<long long> weights = {3, 4, 5};
long long capacity = 7;

Kết quả mong đợi:
long long expected = 2;
Đầu vào:
long[] weights = new long[] {3, 4, 5};
long capacity = 7;

Kết quả mong đợi:
long expected = 2;

Giải thích

Gửi 3 + 4 cùng nhau và 5 đi riêng. Tổng trọng lượng 12 không thể đi trong một chuyến với sức chứa 7.

Ví dụ 2
Đầu vào:
weights = [2, 2, 2]
capacity = 6

Kết quả mong đợi:
expected = 1
Đầu vào:
std::vector<long long> weights = {2, 2, 2};
long long capacity = 6;

Kết quả mong đợi:
long long expected = 1;
Đầu vào:
long[] weights = new long[] {2, 2, 2};
long capacity = 6;

Kết quả mong đợi:
long expected = 1;

Giải thích

Cả ba người đều đi cùng nhau được vì 2 + 2 + 2 = 6.

Tham khảo

Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.