กำหนดให้ X เป็น Array ของข้อมูลแบบ integer จำนวน n ตัว จงหาผลคูณของตัวเลข 3 ตัวจาก array X ที่มีค่าใกล้เคียงกับจำนวนเต็ม Y โดยหากมีหลายคำตอบ ให้ตอบคำตอบที่น้อยที่สุด ตัวอย่าง
Array X มีค่าดังนี้ [1, 2, 3, 4, 5], และต้องการผลลัพธ์ที่ใกล้เคียงกับ 25 ที่สุด จึงสามารถเลือกเลข 3 ตัวมาคูณกันได้ดังนี้:
1 × 2 × 3 = 6
1 × 2 × 4 = 8
1 × 2 × 5 = 10
1 × 3 × 4 = 12
1 × 3 × 5 = 15
1 × 4 × 5 = 20
2 × 3 × 4 = 24
2 × 3 × 5 = 30
2 × 4 × 5 = 40
3 × 4 × 5 = 60
เนื่องจาก 24 คือผลคูณที่ใกล้ 25 ที่สุด จำตอบของ Test case นี้จึงเท่ากับ 25
รูปแบบข้อมูล Test case
บรรทัดแรก “testcase <ชื่อ>” บอกชื่อของ Test case (อ่านข้ามได้เลย) บรรทัดที่สอง “target Y” บอกเลขที่ต้องการหาค่าใกล้เคียง บรรทัดที่สาม “size n” บอกจำนวนข้อมูลในอาเรย์ X n บรรทัดที่เหลือ “Xi” บอกค่าแต่ละค่าในอาเรย์ X
testcase example001 target 25 size 5 1 2 3 4 5 ขอบเขต
128 ≤ n ≤ 2048 1 ≤ Xi ≤ 65536 คำตอบเป็นตัวเลข 14 หลัก
Target = 37375606804152
Ans =
Target = 45431751451366
Ans = 45431751450537