บนบรรทัดจำนวนความยาวM
โดยที่0 < M <= 1,000,000,000
คุณได้รับN
( 1 < N <= 100,000
) จุดจำนวนเต็ม ในแต่ละคู่จุดแรกแทนตำแหน่งที่วัตถุอยู่ในขณะนี้และจุดที่สองแสดงถึงจุดที่ควรย้ายวัตถุ (โปรดทราบว่าsecond
จุดอาจเล็กกว่าfirst
)
ทีนี้สมมติว่าคุณเริ่มจากจุดนั้น0
และมีรถเข็นที่สามารถเก็บ1
วัตถุได้ คุณต้องการย้ายวัตถุทั้งหมดจากตำแหน่งเริ่มต้นของพวกเขาไปยังตำแหน่งสุดท้ายของพวกเขาในขณะที่เดินทางระยะทางน้อยที่สุดตามแนวหมายเลข ( ไม่ใช่การกระจัด) M
คุณจะต้องจบลงในประเด็น
ตอนนี้ฉันพยายามลดปัญหานี้เป็นปัญหาที่ง่ายขึ้น ความซื่อสัตย์ฉันไม่สามารถแม้แต่จะคิดว่าพลังของสัตว์ (ที่อาจจะโลภ) วิธีการแก้ปัญหา อย่างไรก็ตามความคิดแรกของฉันคือการทำให้การเคลื่อนไหวข้างหลังแย่ลงเป็นสองการเคลื่อนไหวไปข้างหน้า แต่นั่นไม่ได้ผลในทุกกรณี
ฉันดึง3
กรณีทดสอบตัวอย่างเหล่านี้มาที่นี่:
คำตอบ testcase 12
แรกคือ ครั้งแรกที่คุณรับรายการที่จุดred
0
จากนั้นคุณย้ายไปที่จุด6
(ระยะทาง = 6
) วางred
รายการชั่วคราวจากนั้นเลือกgreen
รายการ จากนั้นคุณย้ายไปที่จุด5
(ระยะทาง = 1
) และวางgreen
รายการ จากนั้นคุณย้ายกลับไปที่จุด6
(ระยะทาง = 1
) และรับred
รายการที่คุณทิ้งย้ายไปยังจุดที่ 9 (ระยะทาง = 3
) จากนั้นเลื่อนไปที่จุด10
(ระยะทาง = 1
) เพื่อจบลำดับ
ระยะทางทั้งหมดที่เดินทางคือ6 + 1 + 1 + 3 + 1 = 12
ซึ่งเป็นระยะทางต่ำสุดที่เป็นไปได้
อีกสองกรณีมีคำตอบ12
ฉันเชื่อว่า อย่างไรก็ตามฉันไม่สามารถหากฎทั่วไปเพื่อแก้ไขได้
ใครมีความคิดเห็นบ้าง