ให้รายการของงานที่ต้องทำตามลำดับโดยแต่ละช่องจะทำจะต้องใช้เวลานานเท่าใดในการดำเนินการทั้งหมดหากหลังจากทำงานแล้วงานเดียวกันจะไม่สามารถทำได้ในสองช่องถัดไป )? อย่างไรก็ตามสามารถกำหนดงานที่แตกต่างได้ในช่องการระบายความร้อนนี้
ตัวอย่างเช่น,
[9,10,9,8] => output: 5
[9 10 _ 9 8]
เพราะงานจะได้รับการจัดสรร
1. ก่อนอื่น 9 ต้องการจุดระบายความร้อนสองจุด _ _ 9 _ _
ดังนั้นเราจึงเริ่มต้นด้วย
2. งานต่อไป 10 แตกต่างจากงานก่อนหน้า 9 ดังนั้นเราสามารถจัดสรรหนึ่งใน _ _ 9 10 _
จากนั้นเราก็จะมี
3. ประการที่สามไม่สามารถจัดสรร 9 ในขณะนี้เนื่องจากงานแรก 9 เป็นงานเดียวกันและต้องใช้เวลาในการทำให้เย็นลง 9 10 _ 9
.
4. ล่าสุด 8 ไม่เหมือนกับงานสองงานก่อนหน้านี้ดังนั้นจึงสามารถจัดสรรได้หลังจาก 9 และเนื่องจากนี่เป็นงานสุดท้ายจึงไม่ต้องใช้เวลาในการระบายความร้อน รายการสุดท้ายคือ9 10 _ 9 8
และผลลัพธ์ที่คาดหวังคือ 5 ซึ่งเป็นจำนวนสปอต (หรือจำนวนช่อง)
กรณีทดสอบ:
[1,2,3,4,5,6,7,8,9,10] => output : 10 ([1 2 3 4 5 6 7 8 9 10])
[1,1,1] => output: 7 ([1 _ _ 1 _ _ 1])
[3,4,4,3] => output: 6 ([3 4 _ _ 4 3])
[3,4,5,3] => output: 4 ([3 4 5 3])
[3,4,3,4] => output : 5 ([3 4 _ 3 4])
[3,3,4,4] => output : 8 ([3 _ _ 3 4 _ _ 4])
[3,3,4,3] => output : 7 ([3 _ _ 3 4 _ 3])
[3,2,1,3,-4] => output : 5 ([3 2 1 3 -4])
[] => output : 0 ([])
[-1,-1] => output : 4 ([-1 _ _ -1])
ค่าที่ป้อนสามารถเป็นจำนวนเต็มใดก็ได้ (ค่าลบ, 0, ค่าบวก) ความยาวของรายการงานคือ 0 <= ความยาว <= 1,000,000
เอาต์พุตจะเป็นจำนวนเต็มจำนวนสล็อตทั้งหมดซึ่งระบุไว้ในกรณีทดสอบเป็นเอาต์พุต รายการภายในวงเล็บคือวิธีสร้างผลลัพธ์
เกณฑ์การชนะรางวัล
รหัสกอล์ฟ
[]
?