พิจารณาชิ้นส่วนของสตริง (เช่นเดียวกับใน "เชือก" ไม่ใช่ใน "กลุ่มของอักขระ") ซึ่งถูกพับไปมาบนบรรทัดจริง เราสามารถอธิบายรูปร่างของสตริงด้วยรายการของจุดที่มันผ่าน (ตามลำดับ) เพื่อความง่ายเราจะสมมติว่าจุดเหล่านั้นทั้งหมดเป็นจำนวนเต็ม
ใช้เป็นตัวอย่าง[-1, 3, 1, -2, 5, 2, 3, 4]
(โปรดทราบว่าไม่ใช่แต่ละรายการที่แสดงถึงการพับ):
สตริงที่ขยายไปตามทิศทางแนวตั้งนั้นใช้เพื่อจุดประสงค์ในการสร้างภาพเท่านั้น ลองนึกภาพสายทั้งหมดแบนไปยังเส้นจริง
ทีนี้นี่คือคำถาม: อะไรคือจำนวนชิ้นที่ยิ่งใหญ่ที่สุดที่สายนี้สามารถตัดด้วยการตัดครั้งเดียว (ซึ่งจะต้องเป็นแนวตั้งในภาพด้านบน) ในกรณีนี้คำตอบคือ6โดยตัดระหว่าง2
และ3
:
เพื่อหลีกเลี่ยงความงงงวย, ตัดมีที่จะดำเนินการในตำแหน่งที่ไม่ใช่จำนวนเต็ม
ความท้าทาย
เนื่องจากรายการของจำนวนเต็มตำแหน่งที่สตริงถูกพับผ่านคุณต้องพิจารณาจำนวนชิ้นที่มากที่สุดที่สตริงสามารถถูกตัดด้วยการตัดครั้งเดียวที่ตำแหน่งที่ไม่ใช่จำนวนเต็ม
คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบ คุณสามารถรับอินพุตผ่าน STDIN, อาร์กิวเมนต์บรรทัดคำสั่ง, พรอมต์หรือพารามิเตอร์ฟังก์ชัน คุณสามารถเขียนผลลัพธ์ไปยัง STDOUT แสดงในกล่องโต้ตอบหรือส่งคืนจากฟังก์ชัน
คุณอาจคิดว่ารายการอยู่ในรายการหรือรูปแบบสตริงที่สะดวก
รายการจะมีอย่างน้อย2และไม่เกิน100รายการ รายการจะเป็นจำนวนเต็มในแต่ละช่วง-2 31 ≤ P ฉัน <2วันที่ 31 คุณอาจสมมติว่าไม่มีรายการที่ต่อเนื่องกันสองรายการเหมือนกัน
รหัสของคุณจะต้องประมวลผลอินพุตดังกล่าว (รวมถึงกรณีทดสอบด้านล่าง) ในเวลาน้อยกว่า 10 วินาทีบนเดสก์ท็อปพีซีที่เหมาะสม
กรณีทดสอบ
กรณีทดสอบทั้งหมดเป็นเพียงอินพุตตามด้วยเอาต์พุต
[0, 1]
2
[2147483647, -2147483648]
2
[0, 1, -1]
3
[1, 0, -1]
2
[-1, 3, 1, -2, 5, 2, 3, 4]
6
[-1122432493, -1297520062, 1893305528, 1165360246, -1888929223, 385040723, -80352673, 1372936505, 2115121074, -1856246962, 1501350808, -183583125, 2134014610, 720827868, -1915801069, -829434432, 444418495, -207928085, -764106377, -180766255, 429579526, -1887092002, -1139248992, -1967220622, -541417291, -1617463896, 517511661, -1781260846, -804604982, 834431625, 1800360467, 603678316, 557395424, -763031007, -1336769888, -1871888929, 1594598244, 1789292665, 962604079, -1185224024, 199953143, -1078097556, 1286821852, -1441858782, -1050367058, 956106641, -1792710927, -417329507, 1298074488, -2081642949, -1142130252, 2069006433, -889029611, 2083629927, 1621142867, -1340561463, 676558478, 78265900, -1317128172, 1763225513, 1783160195, 483383997, -1548533202, 2122113423, -1197641704, 319428736, -116274800, -888049925, -798148170, 1768740405, 473572890, -1931167061, -298056529, 1602950715, -412370479, -2044658831, -1165885212, -865307089, -969908936, 203868919, 278855174, -729662598, -1950547957, 679003141, 1423171080, 1870799802, 1978532600, 107162612, -1482878754, -1512232885, 1595639326, 1848766908, -321446009, -1491438272, 1619109855, 351277170, 1034981600, 421097157, 1072577364, -538901064]
53
[-2142140080, -2066313811, -2015945568, -2013211927, -1988504811, -1884073403, -1860777718, -1852780618, -1829202121, -1754543670, -1589422902, -1557970039, -1507704627, -1410033893, -1313864752, -1191655050, -1183729403, -1155076106, -1150685547, -1148162179, -1143013543, -1012615847, -914543424, -898063429, -831941836, -808337369, -807593292, -775755312, -682786953, -679343381, -657346098, -616936747, -545017823, -522339238, -501194053, -473081322, -376141541, -350526016, -344380659, -341195356, -303406389, -285611307, -282860017, -156809093, -127312384, -24161190, -420036, 50190256, 74000721, 84358785, 102958758, 124538981, 131053395, 280688418, 281444103, 303002802, 309255004, 360083648, 400920491, 429956579, 478710051, 500159683, 518335017, 559645553, 560041153, 638459051, 640161676, 643850364, 671996492, 733068514, 743285502, 1027514169, 1142193844, 1145750868, 1187862077, 1219366484, 1347996225, 1357239296, 1384342636, 1387532909, 1408330157, 1490584236, 1496234950, 1515355210, 1567464831, 1790076258, 1829519996, 1889752281, 1903484827, 1904323014, 1912488777, 1939200260, 2061174784, 2074677533, 2080731335, 2111876929, 2115658011, 2118089950, 2127342676, 2145430585]
2
a reasonable desktop PC
ค่อนข้างคลุมเครือ?