2
ขยายช่วงเต็มจำนวนสูงสุด
สมมติว่าคุณจะได้รับชุดของที่ไม่ได้ตัด[a1,b1],[a2,b2],[a3,b3],...,[aN,bN]ช่วงของจำนวนเต็ม ( [a,b]ชุดของจำนวนเต็มมากกว่าหรือเท่ากับaและน้อยกว่าหรือเท่ากับb) ช่วงเวลาที่ดัชนีXครอบคลุมbX - aX + 1ค่า เราจะโทรไปที่หมายเลขcXนี้ เนื่องจากแต่ละช่วงเวลาสามารถเป็น ... ไม่เปลี่ยนแปลง (อยู่ในฐานะ[aX,bX]) ขยายไปทางขวาไปทาง+ด้านข้างของตัวเลขโดยcX(กลายเป็น[aX,bX + cX]), หรือขยายไปทางซ้ายไปทาง-ด้านข้างของจำนวนบรรทัดโดยcX(กลายเป็น[aX - cX,bX]) จำนวนสูงสุดของค่าใดบ้างที่สามารถรวมเข้าด้วยกันในช่วงเวลาที่อัปเดตทั้งหมดเนื่องจากพวกเขายังคงไม่ตัดกันทั้งหมด เขียนฟังก์ชันหรือโปรแกรมที่รับสตริงของฟอร์ม[a1,b1],[a2,b2],[a3,b3],...,[aN,bN]และคำนวณค่าสูงสุดนี้ ถ้าเขียนฟังก์ชันให้คืนค่า หากเขียนโปรแกรมแบบเต็มให้ใช้ stdin สำหรับอินพุตและพิมพ์ค่าไปยัง stdout (หรือใช้ทางเลือกที่ใกล้เคียงที่สุด) คุณอาจจะสมมติค่าทั้งหมดเป็นอย่างดีภายในปกติลงนาม 32 บิตขีด จำกัด ของจำนวนเต็มและaXน้อยกว่าหรือเท่ากับดัชนีทั้งหมดbX Xช่วงเวลาอาจอยู่ในลำดับใด ๆ พวกเขาไม่จำเป็นต้องเพิ่มขึ้นเสมอ พวกเขาจะต้องได้รับเป็นสตริงในรูปแบบข้างต้น สตริงอาจว่างเปล่าซึ่งในกรณีนี้คำตอบจะเป็น 0 การส่งที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง หากอินพุตเป็น[-3,0],[1,2],[4,9]เอาต์พุตจะเป็น 22 ช่วงเวลากลางไม่มีที่ว่างสำหรับขยายอย่างใดอย่างหนึ่งดังนั้นจึงต้องไม่เปลี่ยนแปลง ช่วงเวลาด้านซ้ายและด้านขวาสามารถขยายได้ทั้งไป[-7,0]และ[4,15]ตามลำดับ การรวมกันของ[-7,0]และ[1,2]และ[4,15]มีค่าทั้งหมดจาก -7 ถึง 15 ยกเว้น 3 …