
sellCandies2
Lưu ý: Đây là phiên bản khó hơn của bài sellCandies1. Điểm khác biệt ở đây là giới hạn của n và giới hạn thời gian.
Lee có vô hạn các túi kẹo lần lượt chứa 6
, 9
và 20
cái kẹo. Có 1
khách hàng muốn mua n
cái kẹo, Lee muốn bán được nhiều túi kẹo nhất có thể. Hãy giúp Lee tính số túi kẹo tối đa bán được, biết rằng cô sẽ không được bán lẻ từng cây kẹo. Nếu không thể bán đủ kẹo trả về -1
.
Ví dụ:
- Với
n = 18
thìsellCandies(n) = 3
.
Giải thích: ta có thể bán3
túi6
. - Với
n = 77
thìsellCandies(n) = 10
.
Giải thích: ta có thể bán8
túi6
,1
túi9
và1
túi20
. - Với
n = 63
thìsellCandies(n) = 10
.
Giải thích: ta bán9
túi6
và1
túi9
.
Đầu vào/Đầu ra:
- [Thời gian chạy]: 0.1 giây với C++, 0.6 giây với Java và C#, 0.8 giây với Python, GO và Js.
- [Đầu vào] integer
1 ≤ n ≤ 10^7
- [Đầu ra]integer
Post Comment