คุณจะเข้าร่วมในเกมอย่างไร หนึ่งในความท้าทายทำงานดังนี้:
- ห้องแรกมีลูกบอลเหมือนกันจำนวนมาก
- ห้องที่สองมีชุดของรางซึ่งแต่ละห้องมีเซ็นเซอร์ซึ่งนับจำนวนลูกบอลที่ถูกวางไว้ในนั้น ลูกบอลที่วางในรางไม่สามารถกู้คืนได้
- รางแต่ละอันจะทริกเกอร์หลังจากมีการวางลูกจำนวนหนึ่ง ( จำนวนการเรียกใช้ทริกเกอร์ ) เมื่อมันก่อให้เกิดการกระพริบไฟเสียงและทำให้คุณไม่ต้องสงสัยเลยว่ามันได้ถูกทริกเกอร์
- คุณต้องเปิดใช้งาน
N
ปล่องเพื่อดำเนินการท้าทายต่อไป - คุณรู้ว่าจำนวนการเรียกทริกเกอร์ แต่ไม่ใช่การโต้ตอบระหว่างการนับและการเปลี่ยนราง
- คุณมีโอกาสหนึ่งที่จะเอาลูกบอลจากห้องแรกไปสู่ห้องที่สอง เมื่อคุณวางลูกบอลลงในรางคุณจะไม่สามารถกลับไปเล่นลูกอื่นได้อีก
- ลูกบอลแต่ละลูกที่คุณนำมาหักเงินจากแจ็คพอต
เห็นได้ชัดว่าคุณต้องการให้แน่ใจว่าคุณจะผ่านการท้าทาย แต่คุณต้องการลดการสูญเสียเงินแจ็คพอต เขียนโปรแกรมฟังก์ชั่นคำกริยา ฯลฯ เพื่อบอกจำนวนลูกบอลที่คุณต้องการ
ตัวอย่าง
สมมติว่าจำนวนทริกเกอร์คือ 2, 4 และ 10 และคุณต้องทริกเกอร์ 2 ตัวเพื่อผ่าน มีกลยุทธ์ในการส่งต่อด้วย 10 ลูกคือ: วางได้ถึง 4 ลูกในรางแรก, ถึง 4 ลูกในรางที่สอง, และมากถึง 4 ลูกในรางที่สาม เนื่องจากหนึ่งในสามของรางจะเริ่มทำงานหลังจากเพียง 2 ลูกคุณจะใช้ทั้งหมด 10 ลูกเท่านั้นไม่มีกลยุทธ์ใดที่รับประกันว่าจะทำงานได้น้อยกว่า 10 ดังนั้นนั่นคือผลลัพธ์ที่ถูกต้อง
อินพุต
อินพุตประกอบด้วยอาร์เรย์ของจำนวนทริกเกอร์จำนวนเต็มและจำนวนเต็มที่ระบุจำนวนของทริกเกอร์เพื่อเรียกใช้ คุณสามารถรับอินพุตทั้งสองตามลำดับใดก็ได้และหากจำเป็นคุณอาจใช้อินพุตที่สามด้วยความยาวของอาร์เรย์
คุณอาจสันนิษฐานว่าอินพุตทั้งหมดมีค่ามากกว่าศูนย์และจำนวนของ chutes ที่ต้องถูกทริกเกอร์ไม่เกินจำนวน chutes
คุณอาจจะคิดว่าจำนวนนั้นถูกจัดเรียง (ขึ้นหรือลง) ตราบใดที่คุณระบุไว้อย่างชัดเจนในคำตอบของคุณ
เอาท์พุต
ผลลัพธ์ควรเป็นจำนวนเต็มเดียวโดยกำหนดจำนวนลูกที่ต้องการโดยกลยุทธ์ที่เหมาะสม
กรณีทดสอบ
รูปแบบ: N counts solution
1 [2 4 10] 6
2 [2 4 10] 10
3 [2 4 10] 16
1 [3 5 5 5 5 5 5 5 5 5] 5
2 [1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 8 11] 8
2 [1 2 6 6 6 6 6 6 6 10] 16
2 [1 2 3 3 4 4 6 6 6 11] 17
3 [1 2 3 4 5 5 6] 16
3 [2 4 7 7 7 7 7 7 7] 21
5 [1 2 2 3 3 3 3 3 5 9 9 11] 27
2 [5 15 15] 25
1 [4 5 15] 10
3 [1 4 4 4] 10
2 [1 3 4] 6
2 [1 3 3 8] 8