นี้คือความต่อเนื่องหลวมของความท้าทายที่ก่อนหน้านี้ของฉันในกราฟก่อสร้าง
พื้นหลัง
ศิลปินคนประหลาดได้ว่าจ้างคุณให้ประเมินความสมบูรณ์ของโครงสร้างของประติมากรรมของเขา เขาสร้างผลงานศิลปะของเขาโดยนำแม่เหล็กรูปทรงลูกบาศก์จำนวนหนึ่งมาวางลงในกองใหญ่ทีละก้อน เพื่อวิเคราะห์วิธีการของเขาให้ดีขึ้นเราใช้โมเดลสองมิติต่อไปนี้ เราเริ่มต้นด้วยพื้นว่างและวางแม่เหล็ก#
ที่พิกัดจำนวนเต็มใด ๆ พูดว่า0
:
|
v
#
===============
0
หากแม่เหล็กตกอยู่ที่0
หนึ่งมันจะจบลงที่ด้านบนของแม่เหล็กก่อนหน้า:
|
v
#
#
===============
0
ตอนนี้ให้เราวางแม่เหล็กอีกหนึ่งที่0
และอีกหนึ่งที่1
:
|
#v
##
#
===============
0
ตามที่เห็นด้านบนแม่เหล็กที่ตกลงมาจะติดกับแม่เหล็กที่สองที่มันผ่าน แม่เหล็กที่สองไม่จำเป็นต้องอยู่ใต้แม่เหล็กแรกโดยตรงและแม่เหล็กทั้งสองข้างยังคงนับเป็นแม่เหล็กเดียว:
# #
##|##
# v #
### #
# #
===============
0
ศิลปินต้องการให้คุณคำนวณช่องว่างแนวตั้งสูงสุดในรูปปั้นสุดท้ายนั่นคือจำนวนช่องว่างสูงสุดระหว่างสองแม่เหล็กในคอลัมน์เดียวกันหรือแม่เหล็กและพื้นดินด้านล่าง ในภาพด้านบนหมายเลขนี้จะเป็น 3 (ในคอลัมน์2
)
อินพุต
รายการจำนวนเต็มแทนค่าพิกัดที่ศิลปินวางแม่เหล็กอ่านจากซ้ายไปขวา คุณอาจคิดว่าพิกัด-1024 <= i < 1024
เป็นไปตามความยาวและความยาวของรายการมากที่สุด1024
หากมีประโยชน์
เอาท์พุต
ช่องว่างแนวตั้งสูงสุดในประติมากรรมสุดท้าย ประติมากรรมที่ว่างเปล่ามีช่องว่าง-1
และกรณีนี้จะรวมอยู่ด้วยเนื่องจากประติมากรของเราเป็นดาดา
กฎเพิ่มเติม
คุณอาจให้ฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ จำนวนไบต์ที่สั้นที่สุดชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต ต้องการรหัสที่มีคำอธิบาย
กรณีทดสอบ
[] -> -1
[0,2,1] -> 0
[0,0,0,0,0,1,-1] -> 3
[0,0,0,0,0,1,1,1,2] -> 4
[1,1,2,2,2,2,2,2,1] -> 2
[1,1,2,2,2,2,2,2,1,0,1,0] -> 2
[1,2,1,2,1,2,1,2,2,2,2,1,0] -> 3
[-1,-1,-1,1,1,1,0] -> 1
[-1,-1,-1,-1,2,2,1,1,2,2,2,1,0] -> 2
[-2,-2,-2,-1,-1,-1,0,0,0,1,1,1,2,2,2,3,3,4,4,5,5,5,6] -> 6