โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)เครื่องจักรทุกเครื่องเริ่มทำงานที่เวลา 0 และทำงานอย่างอิสระ เครื่องจักรที่ใช้เวลา t วินาทีจะผลิตสินค้าได้ 1 ชิ้นหลังจาก t วินาที ชิ้นถัดไปหลังจาก 2t วินาที และต่อไปเรื่อย ๆ จงหาว่าเมื่อไร (วินาทีเต็ม) ที่เครื่องจักรทั้งหมดผลิตสินค้ารวมกันครบตามเป้าหมาย
ให้เขียนฟังก์ชัน factory_machines(times, target)
อินพุต
times: จำนวนวินาทีที่แต่ละเครื่องใช้ในการผลิตสินค้า 1 ชิ้น
target: จำนวนสินค้าที่ต้องการให้ผลิตครบ
เอาต์พุต
ให้คืนจำนวนวินาทีที่น้อยที่สุดที่สินค้าถูกผลิตครบตามเป้าหมาย
เงื่อนไข
1 ≤ จำนวนเครื่อง ≤ 200,000 แต่ละค่า time และ target อยู่ระหว่าง 1 ถึง 1,000,000,000 คำตอบอยู่ในช่วงของ signed 64-bit
ตัวอย่าง
อินพุต:
times = [2, 3]
target = 5
ผลลัพธ์ที่คาดหวัง:
expected = 6
อินพุต:
std::vector<long long> times = {2, 3};
long long target = 5;
ผลลัพธ์ที่คาดหวัง:
long long expected = 6;
อินพุต:
long[] times = new long[] {2, 3};
long target = 5;
ผลลัพธ์ที่คาดหวัง:
long expected = 6;
คำอธิบาย
ที่เวลา 6 วินาที เครื่องจักรผลิตสินค้าได้รวม 3 + 2 = 5 ชิ้น ที่เวลา 5 วินาที ผลิตได้เพียง 2 + 1 = 3 ชิ้น
อินพุต:
times = [4]
target = 3
ผลลัพธ์ที่คาดหวัง:
expected = 12
อินพุต:
std::vector<long long> times = {4};
long long target = 3;
ผลลัพธ์ที่คาดหวัง:
long long expected = 12;
อินพุต:
long[] times = new long[] {4};
long target = 3;
ผลลัพธ์ที่คาดหวัง:
long expected = 12;
คำอธิบาย
เครื่องจักรหนึ่งเครื่องจะผลิตชิ้นที่สามเสร็จที่ 3 × 4 = 12 วินาที
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน