แทนที่ฉันด้วยผลรวมของผู้สืบทอดของฉัน!
คราวนี้ฉันมีความท้าทายที่ง่ายสำหรับคุณ กำหนดอาร์เรย์ของจำนวนเต็มบวกA (หรือเทียบเท่าในภาษาของคุณ), แทนที่แต่ละรายการA iด้วยผลรวมขององค์ประกอบA iถัดไปของA , การวนกลับจากจุดเริ่มต้นหากมีรายการไม่เพียงพอ ตามปกติคุณสามารถแข่งขันในภาษาการเขียนโปรแกรมใด ๆและสามารถรับอินพุตและให้ผลลัพธ์ผ่านวิธีมาตรฐานใด ๆและในรูปแบบที่เหมาะสมในขณะที่การทราบว่าช่องโหว่เหล่านี้ถูกห้ามโดยค่าเริ่มต้น คุณสามารถเลือกใช้ขนาดของAเป็นอินพุตได้เช่นกัน นี่คือรหัสกอล์ฟดังนั้นการส่งสั้นที่สุด (เป็นไบต์) สำหรับทุกภาษาที่ชนะ ตัวอย่าง / กรณีทดสอบ ได้รับ[1,3,4,5]รหัสของคุณควรส่งออก[3,10,13,14]เพราะ1ถูกแทนที่ด้วย3, 3จะถูกแทนที่ด้วย4+5+1=10(แจ้งให้ทราบวิธีการที่จะห่อกลับมาจากจุดเริ่มต้น) 4โดย5+1+3+4=13และโดย51+3+4+5+1=14 ได้รับ[3,2,1,9]โปรแกรมของคุณควรผลิต[12,10,9,33]เพราะเราแทน3ด้วย2+1+9=12, 2กับ1+9=10, 1ด้วย9และ9ด้วย3+2+1+9+3+2+1+9+3=33(แจ้งให้ทราบวิธีการที่เราห่อกลับมาจากการเริ่มต้นมากกว่าหนึ่งครั้ง) กรณีทดสอบเพิ่มเติมให้คุณเลือกจาก: [4,3,2,1] -> [10,7,5,4] [3,2,1,9] -> [12,10,9,33] [1,3,4,5] -> [3,10,13,14] [4,4,3,2,2] -> [11,11,8,6,8] [3,5,3,2,1] -> [10,14,6,4,3] [3,2,4,3,2,1,1] -> [9,7,7,4,2,1,3] [7,8,6,5,4,3,2,1,5] -> [29,33,20,15,11,8,6,5,30] [28,2,4,2,3,2,3,4,5,3] -> [137,6,10,5,9,7,12,38,39,34] [1,2,3,4,5,4,3,2,1,2,3,4,3,2,1] …