Đề bài
Xem bản gốc (English)Tất cả các máy bắt đầu hoạt động từ thời điểm 0 và làm việc độc lập. Một máy với thời gian t sẽ hoàn thành một sản phẩm sau t giây, sản phẩm tiếp theo sau 2t giây, v.v. Hãy tìm thời điểm (tính theo số nguyên giây) sớm nhất mà tổng số sản phẩm các máy tạo ra đạt đến mục tiêu.
Cài đặt hàm factory_machines(times, target).
Đầu vào
times: Số giây cần để mỗi máy hoàn thành một sản phẩm.
target: Số lượng sản phẩm cần hoàn thành.
Đầu ra
Trả về số giây tối thiểu đã trôi qua.
Ràng buộc
1 ≤ số máy ≤ 200.000. Mỗi giá trị thời gian và mục tiêu nằm trong khoảng từ 1 đến 1.000.000.000. Đáp án vừa với kiểu số nguyên có dấu 64-bit.
Ví dụ
Đầu vào:
times = [2, 3]
target = 5
Kết quả mong đợi:
expected = 6
Đầu vào:
std::vector<long long> times = {2, 3};
long long target = 5;
Kết quả mong đợi:
long long expected = 6;
Đầu vào:
long[] times = new long[] {2, 3};
long target = 5;
Kết quả mong đợi:
long expected = 6;
Giải thích
Tại thời điểm 6 giây, các máy đã sản xuất được 3 + 2 = 5 sản phẩm. Tại thời điểm 5 giây, chỉ mới sản xuất được 2 + 1 = 3 sản phẩm.
Đầu vào:
times = [4]
target = 3
Kết quả mong đợi:
expected = 12
Đầu vào:
std::vector<long long> times = {4};
long long target = 3;
Kết quả mong đợi:
long long expected = 12;
Đầu vào:
long[] times = new long[] {4};
long target = 3;
Kết quả mong đợi:
long expected = 12;
Giải thích
Một máy hoàn thành sản phẩm thứ ba của nó tại thời điểm 3 × 4 = 12 giây.
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.