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

Tổng Tiền Nhỏ Nhất Không Thể Tạo Được

Tìm số tiền dương nhỏ nhất không thể tạo ra từ các đồng xu có sẵn.

Bạn có thể chọn bất kỳ tập con nào của các đồng xu được cung cấp. Mỗi đồng xu chỉ được sử dụng tối đa một lần, kể cả khi có nhiều đồng xu cùng mệnh giá. Hãy tìm số nguyên dương nhỏ nhất mà không thể tạo ra bằng bất kỳ cách chọn nào.

Cài đặt hàm missing_coin_sum(coins).

Đầu vào

coins: Giá trị của các đồng xu có sẵn; các giá trị trùng lặp đại diện cho các đồng xu riêng biệt.

Đầu ra

Trả về số tiền dương nhỏ nhất không thể tạo ra.

Ràng buộc

1 ≤ số lượng đồng xu ≤ 200.000. Mỗi giá trị nằm trong khoảng từ 1 đến 1.000.000.000.

Ví dụ

Ví dụ 1
Đầu vào:
coins = [1, 1, 4]

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

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

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

Giải thích

Các số tiền 1 và 2 có thể tạo ra từ các đồng xu mệnh giá 1. Không có tập con nào tạo được tổng là 3.

Ví dụ 2
Đầu vào:
coins = [2, 3]

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

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

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

Giải thích

Không thể tạo ra số tiền 1 vì tất cả các đồng xu đều có giá trị ít nhất là 2.

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.